Pagini recente » Cod sursa (job #182332) | Cod sursa (job #810967) | Cod sursa (job #1300619) | Cod sursa (job #56613) | Cod sursa (job #2456828)
#include <fstream>
using namespace std;
ifstream f ("bowling.in");
ofstream g ("bowling.out");
int t, n;
int fr[5005];
int sol[55];
int repet[] = {1,2,8,1,4,7,2,1,4,2,7,4};
int main()
{
sol[0] = 0;
for (int i=1; i<=50; ++i)
{
int ans=0;
for (int j=0; j<=5000; ++j)
fr[j] = 0;
for (int j=1; j<=i; ++j)
{
int val=0;
if (j+1 >= i)
{
val = sol[j-1] ^ sol[i-j-1];
fr[val]=1;
}
val = sol[j-1] ^ sol[i-j];
fr[val]=1;
}
for (int j=0; j<=5000; ++j)
{
if (fr[j] == 0)
{
ans = j;
break;
}
}
sol[i] = ans;
}
f >> t;
for (; t; --t)
{
int nr=0;
int val=0;
f >> n;
for (int i=1; i<=n; ++i)
{
int x=0;
f >> x;
if (x==1) nr++;
else
{
if (nr > 48)
{
nr = nr - 49;
val = val ^ repet[nr%12];
}
else
{
val = val ^ sol[nr];
}
nr = 0;
}
}
if (nr > 48)
{
nr = nr - 49;
val = val ^ repet[nr%12];
}
else val = val ^ sol[nr];
if (val == 0) g << "Fumeanu" << '\n';
else g << "Nargy" << '\n';
}
return 0;
}