Pagini recente » preONI 2005 (Runda 3) | Cod sursa (job #152824) | Cod sursa (job #152814) | Cod sursa (job #608964) | Cod sursa (job #484025)
Cod sursa(job #484025)
# include <bitset>
# include <cstdio>
using namespace std ;
const char FIN[] = "bowling.in", FOU[] = "bowling.out" ;
const char S[2][10] = { "Nargy", "Fumeanu" } ;
const int MAX = 84 ;
bitset < 10 > V ;
char SG[MAX] ;
int T, N;
inline int spgr ( int i ) {
return i < 72 ? SG[i] : SG[72 + ( i - 72 ) % 12 ] ;
}
void prec ( void ) {
for ( int i = 1; i < MAX; ++i ) {
V.reset () ;
for ( int j = 1; j <= i; ++j ) {
V[ SG[j - 1] ^ SG[i - j] ] = 1 ;
if ( j < i ) {
V[ SG[j - 1] ^ SG[i - j - 1] ] = 1 ;
}
}
for ( SG[i] = 0 ; V[ SG[ i ] ] ; ++SG[i] ) ;
}
}
int main ( void ) {
freopen ( FIN, "r", stdin ) ;
freopen ( FOU, "w", stdout ) ;
prec () ;
for ( scanf ( "%d", &T ) ; T ; --T ) {
scanf ( "%d", &N ) ;
int sol = 0, nr = 0;
for ( int i = 0, bw; i < N; ++i ) {
scanf ( "%d", &bw ) ;
if ( bw ) {
++nr ;
} else {
sol ^= spgr ( nr ) ;
nr = 0;
}
}
if ( nr ) {
sol ^= spgr ( nr ) ;
}
printf ( "%s\n", sol ? S[0] : S[1] ) ;
}
return 0;
}