2021-08-18 动态代理及反射详解

成人高考报考条件是什么?初中学历怎么参加成人高考?

  返回  

HDU 1848 Fibonacci again and again

2021/8/20 11:16:09 浏览:

1848

nim

对于nim游戏的某个位置(x1,x2,x3),且它各部分的nim等于0时(即x1按位异或x2按位异或x3=0时)则当前位于必败点。
x1按位异或x2按位异或x3,要以二进制形式,一步一步进行,不能x1、x2和x3一起(按相同为1计算)

sg函数

sg(x)=min{n>=0:n<>sg(y)for y∈F(x)}

即,x节点的SG值是去除x的后继节点的SG值的最小的非负整数。
x必败点:sg(x)=0
x必胜点:sg(x)>0

#include<bits/stdc++.h>
using namespace std;
const int N=1000;
int vis[N+2];//判断能否走到P点 
bool d[N+2];//标记 
int fib[15]={1,2,3,5,8,13,21,34,55,89,144,233,377,610,987};
//斐波那契小于1000部分
int main(){
	int n,m,p;
	for(int i=0;i<=N;i++){
		vis[i]=i;
		memset(d,0,sizeof(d));
		for(int j=0;j<15&&fib[j]<=i;j++){
			d[vis[i-fib[j]]]=1;
			for(int k=0;k<=i;k++)
				if(!d[k]){
					vis[i]=k;
					break;
				}
		}
	}
	while(scanf("%d%d%d",&n,&m,&p)&&(n+m+p)){
		if(vis[n]^vis[m]^vis[p])//按位异或(相同为1) 
			puts("Fibo");
		else
			puts("Nacci");	
	}
	return 0;
}

联系我们

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

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