Pagini recente » Cod sursa (job #3245138) | Cod sursa (job #1631361) | Cod sursa (job #2095830) | Cod sursa (job #2966179) | Cod sursa (job #2518016)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <stdio.h>
#include <string.h>
using namespace std;
ifstream f ("bowling.in");
ofstream g ("bowling.out");
int t;
int mex[50009];
int k, ap[50009];
int x,s;
int findMex(int l)
{
memset(ap, 0, sizeof ap);
for(int i=0;i<=l-2;++i)
{
ap[mex[i]^mex[(l-2-i)]]=1;
}
for(int i=0;i<=l-1;++i)
{
ap[mex[i]^mex[(l-1-i)]]=1;
}
int mx=0;
while(ap[mx]==1)
mx++;
return mx;
}
int main()
{
mex[1]=1;
for(int i=2;i<=100;++i)
{
mex[i]=findMex(i);
}
for(int i=101; i<=5e4;i++)
mex[i]=mex[i-12];
f>>t;
k=0;
s=0;
int xes=0;
for(int i=1;i<=t;++i)
{
xes=0;
int u;
f>>u;
s=0;
for(int r=1;r<=u;++r)
{
f>>x;
if(x) s++;
if(x==0 || r==u)
{
//cout<<s<<" ";
xes^=mex[s];
s=0;
}
}
if(xes==0)
g<<"Fumeanu\n";
else g<<"Nargy\n";
}
return 0;
}