文件名称:acm代码模版
文件大小:236KB
文件格式:DOC
更新时间:2021-01-27 11:32:53
ACM
博弈论 巴什博奕 只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。 (1)最后取光者得胜。 bool solve(int n,int m){return n%(m+1);} (2)最后取光者失败。 bool solve(int n,int m){return (n-1)%(m+1);} 威佐夫博奕 有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限。 (1)最后取完者获胜。奇异状态a=[k*fai] b=a+k const double fai=(sqrt(5.0)+1)*0.5;//黄金分割数 bool solve(int a,int b){ if(a>b)swap(a,b); if(a==0)return b; return b!=int(a/fai)+a+1; }