1136 - Bingo!
Quando o limite é baixo, força bruta resolve o problema!
Descrição
Solução
Como temos no máximo 91 bolas diferentes, então podemos analisar todas as, no máximo, 8281 possibilidades entre os valores absolutos, um número perfeitamente possível de ser computado. É possível guardar as possibilidades em vetores ou conjuntos.
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
int N, B, resposta, bolas[90], possibilidades[91];
while (scanf("%d %d", &N, &B))
{
if (!N && !B)
break;
memset(possibilidades, 0, sizeof(possibilidades));
possibilidades[0] = 1;
resposta = 1;
for (int i = 0; i < B; ++i)
{
scanf("%d", &bolas[i]);
}
for (int i = 0; i < B; ++i)
{
for (int j = i + 1; j < B; ++j)
{
int absoluto = abs(bolas[i] - bolas[j]);
if (!possibilidades[absoluto])
{
++resposta;
possibilidades[absoluto] = 1;
}
}
}
printf("%c\n", resposta == N + 1 ? 'Y' : 'N');
}
return 0;
}
Last updated
Was this helpful?