Pagini recente » Cod sursa (job #1126299) | Cod sursa (job #2600580) | Cod sursa (job #598746) | Cod sursa (job #1858465) | Cod sursa (job #270596)
Cod sursa(job #270596)
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAX_N = 1000;
int n, z, t;
int f[MAX_N];
int sg[MAX_N];
int main()
{
int i, j;
freopen("bowling.in", "r", stdin);
freopen("bowling.out", "w", stdout);
f[0] = -1;
for (i = 1; i <= 500; ++i)
{
z = 0;
for (j = 0; j < i - 1; ++j)
f[++z] = sg[j] ^ sg[i - j - 2];
for (j = 0; j < i; ++j)
f[++z] = sg[j] ^ sg[i - j - 1];
sort(f + 1, f + z + 1);
f[z + 1] = f[z] + 10;
for (j = 0; j <= z; ++j)
if (f[j] + 1 < f[j + 1])
{
sg[i] = f[j] + 1;
break;
}
}
sg[0] = 0;
for (scanf("%d", &t); t; --t)
{
int y = 0, x, rez = 0;
for (scanf("%d", &n); n > -1; --n, x = 0)
{
if (n) scanf("%d", &x);
if (x) ++y;
else
{
if (y < 72) rez ^= sg[y];
else rez ^= sg[71 + ((y - 71) % 12) + (((y - 71) % 12) ? 0 : 12)];
y = 0;
}
}
printf("%s\n", (rez) ? "Nargy" : "Fumeanu");
}
}