分析:
SG函数的入门题
因为数据范围比较小,我们可以直接暴力计算SG函数
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int f[15]={1,2,3,5,8,13,21,34,55,89,144,233,377,610,987};
int SG[1002],S[1002],n,m,p;
void make_sg()
{
memset(SG,0,sizeof(SG));
for (int i=1;i<=1000;i++)
{
memset(S,0,sizeof(S));
for (int j=0;j<15&&f[j]<=i;j++)
S[SG[i-f[j]]]=1;
for (int j=0;;j++) if (!S[j])
{
SG[i]=j;
break;
}
}
}
int main()
{
make_sg();
while (scanf("%d%d%d",&m,&n,&p)!=EOF&&(m+n+p)!=0)
{
int t=SG[m]^SG[n]^SG[p];
if (t==0) printf("Nacci\n");
else printf("Fibo\n");
}
return 0;
}