Pagini recente » Cod sursa (job #2599657) | Cod sursa (job #1855522) | Cod sursa (job #3210668) | Cod sursa (job #718208) | Cod sursa (job #793718)
Cod sursa(job #793718)
#include <fstream>
#include <cstring>
using namespace std;
const int Nmax = 550;
const int Stop = 520;
#define win "Nargy"
#define lost "Fumeanu"
int SG[Nmax];
bool Ok[Nmax];
int Sol,T,N;
ifstream F("bowling.in");
ofstream G("bowling.out");
int main()
{
F>>T;
SG[0]=0;
for (int i=1;i<=Stop;++i)
{
memset(Ok,0,sizeof(Ok));
for (int j=1;j<=i;++j)
{
Ok[ SG[j-1]^SG[i-j] ]=1;
if ( i>j ) Ok[ SG[j-1]^SG[i-j-1] ] = 1;
}
for (SG[i]=0;Ok[SG[i]];++SG[i]);
}
while ( T-- )
{
F>>N;
Sol=0;
int v=0;
for (int i=1,x;i<=N;++i)
{
F>>x;
if ( x==0 )
{
if ( v ) Sol ^= SG[v];
v=0;
}
else
++v;
}
if ( v ) Sol ^= SG[v];
G<<( Sol ? win : lost )<<'\n';
}
}