Cod sursa(job #270143)

Utilizator GavrilaVladGavrila Vlad GavrilaVlad Data 3 martie 2009 19:35:12
Problema Bowling Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.36 kb
#include <stdio.h>
#include <string>

using namespace std;

long n, i, j, k, t, sol[110], poz[2200], rez, c[50010], s[50010], ls;

int main()
{
    freopen("bowling.in", "r", stdin);
    freopen("bowling.out", "w", stdout);
    for(i=0; i<=100; i++)
    {
        memset(poz, 0, sizeof(poz));
        for(j=0; j<=i-2; j++)
        {
            rez=sol[j]^sol[i-j-2];
            poz[rez]=1;
        }
        for(j=0; j<=i-1; j++)
        {
            rez=sol[j]^sol[i-j-1];
            poz[rez]=1;
        }
        for(sol[i]=0; poz[sol[i]]==1; sol[i]++);
    }
    scanf("%d\n", &t);
    for(; t; t--)
    {
        scanf("%d", &n);
        ls=0;
        rez=0;
        for(i=1; i<=n; i++)
        {
            scanf("%d", &c[i]);
            if(c[i]==1 && c[i-1]==0)
            {
                ls++;
                s[ls]=1;
            }
            else
            if(c[i]==1) s[ls]++;
        }
        for(i=1; i<=ls; i++)
        {
           // printf("*");
            if(s[i]<72)
            {
                rez=rez^sol[s[i]];
            }
            else
            {
                s[i]-=72;
                s[i]%=12;
                s[i]+=72;
                rez=rez^sol[s[i]];
            }
        }
        if(rez==0) printf("Fumeanu\n");
        else printf("Nargy\n");
    }
    return 0;
}