java教程传智播客,面试真题解析

java数据库连接池实现,涨薪7K!

  返回  

【1848】Fibonacci again and again

2021/7/21 18:42:04 浏览:

1848
典型尼姆游戏,使用SG函数打表计算

#include<bits/stdc++.h>
using namespace std;
int sg[1005],vis[1005];
int feb[15]={1,2,3,5,8,13,21,34,55,89,144,233,377,610,987};
void getsg(){
	for(int i=0;i<=1000;i++){
		sg[i]=i;
		memset(vis,0,sizeof(vis));
		for(int j=0;j<15&&feb[j]<=i;j++){
			vis[sg[i-feb[j]]]=1;
		}
		for(int j=0;j<=i;j++){
			if(!vis[j]){
				sg[i]=j;break;
			}
		}
	}
}
int main(){
	int m,n,p;
	getsg();
	while(cin>>m>>n>>p&&(m+n+p!=0)){
		if(sg[m]^sg[n]^sg[p])cout<<"Fibo"<<endl;//这行注意
		else cout<<"Nacci"<<endl;
	}
	return 0;
} 

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号