Pagini recente » Cod sursa (job #1757190) | Cod sursa (job #3139064) | Cod sursa (job #2044322) | Cod sursa (job #385907) | Cod sursa (job #270072)
Cod sursa(job #270072)
#include <stdio.h>
#include <algorithm>
using namespace std;
int sg[256], v[512];
int per[12] = {4, 1, 2, 8, 1, 4, 7, 2, 1, 8, 2, 7};
int m, t, n, nr, sol, k, ok;
int main() {
freopen("bowling.in", "r", stdin);
freopen("bowling.out", "w", stdout);
for (int i = 1; i < 256; i++) {
m = 0;
//iau cate 2
for (int j = 0; j <= i - 2; j++) {
//dupa lovitura am j in stanga si i - j - 2 in dreapta
v[++m] = sg[j] ^ sg[i - j - 2];
}
//iau cate 1
for (int j = 0; j <= i - 1; j++) {
//dupa lovitura am j in stanga si i - j - 1 in dreapta
v[++m] = sg[j] ^ sg[i - j - 1];
}
v[0] = -1;
sort(v + 1, v + m + 1);
v[m + 1] = v[m] + 2;
for (int j = 0; j <= m; j++)
if (v[j] + 1 < v[j + 1]) {
sg[i] = v[j] + 1;
break;
}
}
scanf("%d", &t);
while (t--) {
scanf("%d", &n);
sol = 0; ok = 0;
for (int i = 1; i <= n + 1; i++) {
if (i != n + 1) scanf("%d", &k);
else k = 0;
if (k) nr++;
else {
if (nr) ok = 1;
if (nr < 72) sol ^= sg[nr];
else {
nr -= 72; nr %= 12;
if (!nr) nr = 12;
sol ^= nr;
}
nr = 0;
}
}
if (!ok) sol = 1;
if (sol) printf("Nargy\n");
else printf("Fumeanu\n");
}
return 0;
}