Cod sursa(job #463477)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 16 iunie 2010 00:09:26
Problema Xerox Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <cstdio>
#include <cstring>

#define file_in "xerox.in"
#define file_out "xerox.out"

int T,sg[1000];

void citire()
{

    freopen(file_in,"r",stdin);
    freopen(file_out,"w",stdout);

    scanf("%d", &T);

}

void solve()
{
    int rez;
    int i,j,x,y,dx,dy,n,m,viz[500];
    sg[0]=0;
    sg[1]=1;
    sg[2]=2;

    for (i=3;i<=200;++i)
    {
        memset(viz,0,sizeof(viz));

        for (j=0;j<=i-1;++j)
        {
            x=j;
            y=i-j-1;
            viz[sg[x]^sg[y]]=1;
        }
        for (j=0;j<=i-2;++j)
        {
            x=j;
            y=i-j-2;
            viz[sg[x]^sg[y]]=1;
        }
        j=0;
        while(viz[j]) j++;
        sg[i]=j;
    }


    //for (int i=0;i<=20;++i) fprintf(stderr,"%d ", sg[i]);
    while(T--)
    {
        rez=0;
        scanf("%d %d %d", &n, &dx, &dy);
        while(n--)
        {
            scanf("%d", &m);
            for (int i=1;i<=m;++i)
                  scanf("%d %d",&x, &y);
            rez^=m;
        }
        if (rez>0)
        printf("1\n");
        else
        printf("0\n");
    }

}

int main()
{

    citire();
    solve();

    return 0;

}