Quando fui ver a solução do problema, n entendi nada, alguém pode me explicar? SErá q tem uma solução mais simples?
#include <stdio.h>
static int count[1024 * 1024];
static int forbid[1024 * 1024];
int solve (int n, int m)
{
int i, j;
for (i = 0; i <= n; i++)
count[i] = forbid[i] = 0;
for (i = 0; i <= n; i++) {
if (count[i] == 0) {
for (j = 1; j <= m; j++) {
count[i + j]++;
forbid[i + j] = j;
}
} else if (count[i] == 1) {
count[i + forbid[i]]++;
forbid[i + forbid[i]] = forbid[i];
}
}
return count[n];
}
int main (int argc, char **argv)
{
int n, m;
while (1) {
n = m = 0;
scanf ("%d %d", &n, &m);
if (n == 0) break;
printf ("%s\n", solve (n, m) ? "Paula" : "Carlos");
}
return 0;
}
Pergunta
marty
Alguém pode me ajudar? Eu n consegui resolver o problema competição de chocolate nessa prova: http://olimpiada.ic.unicamp.br/passadas/OB...9_prog_f2nj.pdf
Quando fui ver a solução do problema, n entendi nada, alguém pode me explicar? SErá q tem uma solução mais simples?
As entradas q seriam avaliadas estão nesse arquivo: http://olimpiada.ic.unicamp.br/passadas/OB...s/chocolate.zip
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.