Cod sursa(job #127304)

Utilizator dominoMircea Pasoi domino Data 23 ianuarie 2008 18:40:36
Problema Xerox Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <stdio.h>
#include <set>

using namespace std;

#define MAX_N 205
#define FIN "xerox.in"
#define FOUT "xerox.out"

int T, N, G[MAX_N], Res;
set<int> H;

int main(void)
{
    int i, j, k;
    
    freopen(FIN, "r", stdin);
    freopen(FOUT, "w", stdout);

    G[0] = 0;
    for (i = 1; i < MAX_N; ++i)
    {
        H.clear();
        for (j = 1; j <= i; ++j)
            for (k = 0; k <= i-j; ++k)
                H.insert(G[k]^G[i-j-k]);
        for (G[i] = 0; H.find(G[i]) != H.end(); ++G[i]);
    }

    for (scanf("%d", &T); T; --T)
    {
        scanf("%d %*d %*d", &N);
        Res = 0;
        for (i = 0; i < N; ++i) 
        {
            scanf("%d", &j);
            for (k = 0; k < j; ++k) 
                scanf("%*d %*d");
            Res ^= G[j];
        }
        printf("%d\n", Res != 0);
    }

    return 0;
}