Pagini recente » Cod sursa (job #486819) | Cod sursa (job #36247)
Cod sursa(job #36247)
#include <stdio.h>
#include <string.h>
#define MAX_G 84
#define FIN "bowling.in"
#define FOUT "bowling.out"
int T, N;
char G[MAX_G], U[10];
inline int grundy(int n)
{
return n < 72 ? G[n] : G[72+(n-72)%12];
}
int main(void)
{
int i, j, x, cnt, res;
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
for (G[0] = 0, i = 1; i < MAX_G; i++)
{
memset(U, 0, sizeof(U));
for (j = 1; j <= i; j++)
{
U[G[j-1]^G[i-j]] = 1;
if (j < i) U[G[j-1]^G[i-j-1]] = 1;
}
for (G[i] = 0; U[G[i]]; G[i]++);
}
for (scanf("%d", &T); T; T--)
{
scanf("%d", &N);
for (res = cnt = i = 0; i < N; i++)
{
scanf("%d", &x);
if (x) cnt++;
else
{
res ^= grundy(cnt);
cnt = 0;
}
}
if (cnt) res ^= grundy(cnt);
printf("%s\n", res ? "Nargy" : "Fumeanu");
}
return 0;
}