Cod sursa(job #478857)

Utilizator freak93Adrian Budau freak93 Data 20 august 2010 18:40:57
Problema Bowling Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<fstream>

using namespace std;

const char iname[]="bowling.in";
const char oname[]="bowling.out";
const int maxn=50005;

ifstream f(iname);
ofstream g(oname);

int mex[maxn],a[maxn],i,j,n,t,rez,x;

int main()
{
    mex[0]=0;
    mex[1]=1;
    for(i=2;i<=100;++i)
    {
        for(j=0;j<=i;++j)
            a[j]=0;
        for(j=0;j<i;++j)
            a[mex[j]^mex[i-j-1]]=1;
        for(j=0;j<i-1;++j)
            a[mex[j]^mex[i-j-2]]=1;
        for(j=0;a[j];++j);
        mex[i]=j;
    }
    for(i=101;i<maxn;++i)
        mex[i]=mex[i-12];
    f>>t;
    while(t--)
    {
        f>>n;
        j=0;rez=0;
        for(i=1;i<=n;++i)
        {
            f>>x;
            if(x==0)
                rez^=mex[j],j=0;
            else
                ++j;
        }
        rez^=mex[j];
        if(rez)
            g<<"Nargy\n";
        else
            g<<"Fumeanu\n";
    }
}