Cod sursa(job #2456446)
Utilizator | Predescu Sebastian Ion PredescuSebastianIon | Data | 14 septembrie 2019 13:18:23 |
---|---|---|---|
Problema | Bowling | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.53 kb |
#include <fstream>
using namespace std;
ifstream f("bowling.in");
ofstream g("bowling.out");
int a[505],b[5005],mex,val,nr_teste,n,nr,x;
int aux[]={1,2,8,1,4,7,2,1,4,2,7,4};
int main()
{
a[0]=0;
for(int i=1;i<=50;i++)
{
mex=0;
for(int j=1;j<=5000;j++)
{
b[j]=0;
}
for(int j=1;j<=i;j++)
{
if(j+1<=i)
{
val=a[j-1]^a[i-j-1];
b[val]=1;
}
val=a[j-1]^a[i-j];
b[val]=1;
}
for(int j=0;j<=5000;j++)
{
if(b[j]==0)
{
mex=j;
break;
}
}
a[i]=mex;
}
f>>nr_teste;
for(;nr_teste>0;nr_teste--)
{
f>>n;
nr=0;
val=0;
for(int i=1;i<=n;i++)
{
f>>x;
if(x==1)
{
nr++;
}
else
{
if(nr>48)
{
nr=nr-49;
val=val^aux[nr%12];
}
else
{
val=val^a[nr];
}
nr=0;
}
}
if(nr>48)
{
nr=nr-49;
val=val^aux[nr%12];
}
else
{
val=val^a[nr];
}
if(val==0)g<<"Fumeanu"<<'\n';
else g<<"Nargy"<<'\n';
}
return 0;
}