Pagini recente » Cod sursa (job #41293) | Cod sursa (job #800719) | Cod sursa (job #3268404) | Cod sursa (job #2388677) | Cod sursa (job #989597)
Cod sursa(job #989597)
#include<fstream>
#include<vector>
#include<bitset>
#define NMAX 50005
using namespace std;
ifstream fin("bowling.in");
ofstream fout("bowling.out");
int t,n,sol,sg[NMAX];
vector<int> G[NMAX];
bitset<NMAX> used;
inline int period(int x)
{
if(x<72)
return x;
return 72+(x-72)%12;
}
void sprague_grundy()
{
for(int i=1,j,k;i<=84;i++)
{
used.reset();
for(j=1,k=i/2+1;j<=k;j++)
{
used[ sg[j-1]^sg[i-j] ] = 1;
used[ sg[j-1]^sg[i-j-1] ] = 1;
}
for(j=0;used[j];j++);
sg[i]=j;
}
}
void read()
{
fin>>n;
int i,k=0,x;
sol=0;
for(i=0;i<n;i++)
{
fin>>x;
if(x)
k++;
else
{
sol^=sg[period(k)];
k=0;
}
}
if(k)
sol^=sg[period(k)];
}
int main()
{
fin>>t;
sprague_grundy();
while(t--)
{
read();
if(sol)
fout<<"Nargy\n";
else
fout<<"Fumeanu\n";
}
return 0;
}