Pagini recente » Cod sursa (job #2635680) | Cod sursa (job #1443768) | Cod sursa (job #2472300) | Cod sursa (job #325938) | Cod sursa (job #41978)
Cod sursa(job #41978)
#include <stdio.h>
#include <stdlib.h>
#define nmax 500//01
long a[nmax],b[12][nmax],nr;
FILE *f,*g;
int compare(const void *a,const void *b)
{
return *(int*)b-*(int*)a;
}
int main()
{
long n,i,j,t,ok,cas,x,y,in;
f=fopen("bowling.in","rt");
g=fopen("bowling.out","wt");
fscanf(f,"%ld\n",&t);
for (i=1;i<=t;i++)
{
nr=0;
fscanf(f,"%ld",&n);
ok=1;
for (j=1;j<=n;j++)
{
fscanf(f,"%ld",&a[j]);
if (a[j]==1&&ok)
{
nr++;
ok=0;
}
else
if (a[j]==0)
ok=1;
if (!ok)
b[i][nr]++;
}
x=b[i][1];
for (j=2;j<=nr;j++)
x=x^b[i][j];
cas=x;
{
qsort(b[i]+1,nr,sizeof(long),compare);
ok=1;
in=1;
do
{
for (j=1;j<=nr;j++)
{
x=b[i][j];
cas=1;
while (cas!=0&&b[i][j]>0)
{
b[i][j]--;
cas=b[i][1];
for (n=2;n<=nr;n++)
cas=cas^b[i][n];
}
if (!cas)
{
y=x-b[i][j];
if (y%3!=0)
{
ok++;
ok=ok%2;
in=nr+1;
break;
}
}
b[i][j]=x;
}
if (b[j][in]%3==0&&in<=nr)
ok++;
ok=ok%2;
in++;
}
while (in<=nr);
ok=ok%2;
if (!ok)
fprintf(g,"Nargy\n");
else
fprintf(g,"Fumeanu\n");
}
}
fclose(f);
fclose(g);
return 0;
}