博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
威佐夫博弈
阅读量:6914 次
发布时间:2019-06-27

本文共 723 字,大约阅读时间需要 2 分钟。

题目类型 :

  有两堆物品数量若干,两人轮流从某一堆或同时从两堆中选取同样多的物品,规定每次最小选一个,多者不限,最后一次取尽者获胜。

分析 :

  相比于巴什博弈,此种博弈得情形更加复杂些,我们用(X , Y)表示当前得局势,如果甲面对(0 , 0)说明甲输掉了比赛,我们称这种状态是奇异局势,前几个奇异局势是 (0 , 0) , (1 , 2) , (3 , 5) , (4 , 7) , (6 , 10) , (8 , 13) , (9 , 15) , (11 , 18)

 

  可以看出,x是未在前面出现过得最小自然数,并且经过任何操作,都可以将奇异局势变成非奇异局势

 

  现在,如果给你一个局势(x, y),如何判断他是不是奇异局势

  

  x  = k * (1 + sqrt(5) )/2 ; y = x + k

  对于一个当前的局势如果 (y - x) * ((1 + sqrt(5) )/2 ) = x

代码示例 :

  

double pp = 1.0*(1.0+sqrt(5.0))/2.0;int main() {     int x, y;        while(~scanf("%d%d", &x, &y)){        if (x > y) swap(x, y);                int k = y - x;        if (x == (int)(1.0*k*pp)) printf("0\n");        else puts("1");    }    return 0;}

 

转载于:https://www.cnblogs.com/ccut-ry/p/8996129.html

你可能感兴趣的文章
mysql数据库与web主机分离实验
查看>>
HTTP Status 400 - Required MultipartFile parameter 'logoFole' is not present
查看>>
关于java字符串常用一些api 效率比拼小结(java对大型的字符串api处理效率比拼)...
查看>>
PHP句法规则详解
查看>>
h2 数据文件解析
查看>>
DML、DDL、DCL区别
查看>>
freemarker集成shiro标签
查看>>
java中File类的getPath(),getAbsolutePath(),getCanonicalPath()区别
查看>>
Spring Boot 2.x 启动全过程源码分析(上)入口类剖析
查看>>
Java应用性能管理工具 Pinpoint
查看>>
jQuery UI Accordion in ASP.NET MVC - feed with data from database
查看>>
Linux运维课之Mysql cluster随堂视频
查看>>
Android入门之创建一个AndroidStudio工程
查看>>
2012年下半年系统集成项目管理工程师真题(案例分析)(3)
查看>>
LAMP平台下用Drupal快速建站
查看>>
利用nginx的proxy_next_upstream实现线路容灾
查看>>
chrome 插件开发
查看>>
[LintCode] Serialize and Deserialize Binary Tree
查看>>
Android 矢量图
查看>>
linux awk命令详解
查看>>