博弈论集合
威佐夫博弈
有两堆各若干的物品,两人轮流从其中一堆中取至少一件物品,最多不限,或从两堆中同时取相同件物品,规定最后取光者胜利
若两堆物品的初始值为(x,y)(x<y)
令z=y-x,w=(int)[(sqrt(5)+1)/2*z](黄金分割率)
若w=x 则先手必败 否则先手必胜
if(x>y)
swap(x,y);
z=y-x;
w=(sqrt(5)+1)/2*z;
if((int)w==x) printf("0\n");
else printf("1\n");
尼姆博弈
原创
2021-08-30 14:54:33 ·
361 阅读 ·
0 评论