Cod sursa(job #1743080)

Utilizator akaprosAna Kapros akapros Data 17 august 2016 15:46:37
Problema Bowling Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <bits/stdc++.h>
#define maxV 72
using namespace std;
int n, t, ans, Sg[] = {0, 1, 2, 3, 1, 4, 3, 2, 1, 4, 2, 6,
                       4, 1, 2, 7, 1, 4, 3, 2, 1, 4, 6, 7,
                       4, 1, 2, 8, 5, 4, 7, 2, 1, 8, 6, 7,
                       4, 1, 2, 3, 1, 4, 7, 2, 1, 8, 2, 7,
                       4, 1, 2, 8, 1, 4, 7, 2, 1, 4, 2, 7,
                       4, 1, 2, 8, 1, 4, 7, 2, 1, 8, 6, 7,
                       4, 1, 2, 8, 1, 4, 7, 2, 1, 8, 2, 7
                      };
int sg(int x)
{
    if (x <= maxV)
        return Sg[x];
    else
        return Sg[x % 12 + maxV];
}
void read()
{
    int i, len = 0;
    ans = 0;
    scanf("%d", &n);
    for (i = 1; i <= n; ++ i)
    {
        int x;
        scanf("%d", &x);
        if (x)
            ++ len;
        else
        {
            ans ^= sg(len);
            len = 0;
        }
    }
    if (len)
        ans ^= sg(len);
}
void write()
{
    if (ans)
        printf("Nargy\n");
    else
        printf("Fumeanu\n");
}
int main()
{
    freopen("bowling.in", "r", stdin);
    freopen("bowling.out", "w", stdout);
    scanf("%d", &t);
    while (t --)
    {
        read();
        write();
    }
    return 0;
}