Pagini recente » Cod sursa (job #3204147) | Cod sursa (job #2334981) | Cod sursa (job #3202969) | Cod sursa (job #1623945) | Cod sursa (job #2018124)
#include <bits/stdc++.h>
using namespace std;
const int N = 50005;
int i, t, n, x, mex[N], rs, cnt;
int getMex(int x) {
if(mex[x] != -1) return mex[x];
set<int> S;
S.insert(getMex(x - 1));
S.insert(getMex(x - 2));
for(int i = 1; i <= x / 2 + 1; ++i) {
S.insert(getMex(i) ^ getMex(x - i - 1));
S.insert(getMex(i) ^ getMex(x - i - 2));
}
int aux = 0;
for(auto it : S)
if(it == aux) ++aux;
else break;
return mex[x] = aux;
}
int main() {
ifstream cin("bowling.in");
ofstream cout("bowling.out");
ios_base::sync_with_stdio(0);
memset(mex, -1, sizeof(mex));
for(i = 0; i < 3; ++i) mex[i] = i;
for(cin >> t; t; --t) {
cin >> n; rs = cnt = 0;
for(i = 1; i <= n; ++i) {
cin >> x;
if(!x) rs ^= getMex(cnt), cnt = 0;
else ++cnt;
if(i == n) rs ^= getMex(cnt);
}
cout << (!rs ? "Fumeanu" : "Nargy") << '\n';
}
return 0;
}