Pagini recente » Cod sursa (job #1535742) | Cod sursa (job #1530279) | Cod sursa (job #2681420) | Cod sursa (job #2984027) | Cod sursa (job #324899)
Cod sursa(job #324899)
#include <iostream>
#define FIN "bowling.in"
#define FOUT "bowling.out"
#define WHERE 71+12
using namespace std;
int def[WHERE*3];
int SG[WHERE+2];
int T;
void iofile(void){
freopen(FIN,"rt",stdin);
freopen(FOUT,"wt",stdout);
}
void get_SG(void){
SG[0]=0;
for (int i=1;i<=WHERE;++i) {
memset(def,0,sizeof(def));
for (int j=1;j<=i;++j){
def[SG[j-1]^SG[i-j]]++;
}
for (int j=1;j<i;++j){
def[SG[j-1]^SG[i-(j+1)]]++;
}
int x=0;
while (def[x])++x;
SG[i]=x;
}
}
void solve(void){
scanf("%d",&T);
int N;
for (int test=1;test<=T;++test){
scanf("%d",&N);
int nr1=0;
int x,sum=0;
for (int i=1;i<=N;++i) {
scanf("%d",&x);
if (x){
++nr1;
} else if (nr1){
if (nr1<=71) sum^=SG[nr1];
if (nr1>71){
nr1-=71;
nr1%=12;
if (nr1==0){nr1=12;}
sum^=SG[71+nr1];
}
nr1=0;
}
}
if (nr1){
if (nr1<=71) sum^=SG[nr1];
if (nr1>71){
nr1-=71;
nr1%=12;
if (nr1==0){nr1=12;}
sum^=SG[71+nr1];
}
}
if (sum==0){ printf("Fumeanu\n");} else { printf("Nargy\n");}
}
fclose(stdin);
fclose(stdout);
return ;
}
int main(void){
iofile();
get_SG();
solve();
return 0;
}