HD 2177(威佐夫博弈 入门)
取(2堆)石子游戏
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1730 Accepted Submission(s): 1049
1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 #include <cstdio> 5 #include <cmath> 6 using namespace std; 7 8 int main() 9 { 10 int n,m; 11 while(scanf("%d%d", &n, &m) != EOF) 12 { 13 if(n == 0 && m == 0) 14 break; 15 if(n > m) 16 { 17 swap(n, m); 18 } 19 double gold = (sqrt(5) + 1)/2; 20 int c = gold * (m - n); 21 int a,b; 22 if(c == n) 23 { 24 printf("0\n"); 25 } 26 else 27 { 28 printf("1\n"); 29 printf("%d %d\n", c, c + m - n); 30 for(int i = 1; i <= m; i++) 31 { 32 a = i * gold; 33 if(a == c) 34 continue; 35 b = a + i; 36 if(a == n) 37 { 38 printf("%d %d\n", a,b); 39 } 40 else if(b == n) 41 { 42 printf("%d %d\n",a, b); 43 } 44 else if(b == m) 45 { 46 printf("%d %d\n", a, b); 47 } 48 } 49 } 50 } 51 return 0; 52 }
View Code
转载于:https://www.cnblogs.com/zhaopAC/p/5183246.html
HD 2177(威佐夫博弈 入门)相关推荐
- hdu 2177 威佐夫博弈
题目链接:hdu 2177 威佐夫博弈水题,如果不是奇异局势需要输出走完第一步石堆的状态,先按两堆取相同石子,再按只取一堆. 可以打表解决 #include<iostream> #incl ...
- 博弈——威佐夫博弈(hdu1527,2177)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1527 题目描述: 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不 ...
- 博弈论入门之威佐夫博弈
威佐夫博弈 威佐夫博弈是一类经典的博弈问题 有两堆石子,两个顶尖聪明的人在玩游戏,每次每个人可以从任意一堆石子中取任意多的石子或者从两堆石子中取同样多的石子,不能取得人输,分析谁会获得胜利 博弈分析 ...
- 杭电acm 2177 取(2堆)石子游戏(威佐夫博弈)
取(2堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 ...
- 【小组专题二:博弈论入门综述(1)】NP状态 | SG函数 | 巴什博奕、威佐夫博弈、斐波那契博弈、Nim游戏、SJ定理
博弈论综述[1] 前言 博弈与博弈论 博弈树 NP状态 SG函数(Sprague-Grundy) Sprague-Grundy Theorem 巴什博奕 Bash Game 威佐夫博弈 扩展威佐夫博弈 ...
- 威佐夫博弈算法C++
在看本文章之前给大家说几句 如果你是先看了百度上的解释或者是其他文章,觉得很是繁琐,无法理解. 那么恭喜你,看本文会轻松很多.这里没有讲解原理之类的,只是结果.当你理解了之后,有兴趣的话就可以继续去钻 ...
- hdu2177——威佐夫博弈变形
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2177 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是 ...
- POJ1067_取石子游戏_威佐夫博弈
/* *State: 1067 Accepted 176K 16MS C++ 435B *题目大意: * 威佐夫博弈 *解题思路: * 略. */ #include <iostream> ...
- 洛谷P2252 取石子游戏(威佐夫博弈)
题目背景 无 题目描述 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后 ...
- 威佐夫博弈:百练OJ:1067:取石子游戏
威佐夫博弈(Wythoff's game):有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜. 百练OJ:1067:取石子游戏 ...
最新文章
- 概率分布,先懂这6个
- [Silverlight入门系列]使用MVVM模式(6):使用Behavior
- 伪随机交织抑制突发噪声的MATLAB仿真(采用(2,1,3)卷积码)
- 从此明白了卷积神经网络(CNN)
- vue-router详尽:编程式导航、路由重定向、动态路由匹配、路由别名、嵌套路由、命名视图
- account表里有什么 银行_模拟一个银行账户类Account,账户类中包括所有者、账号、余额、账户总数、存款、取款等信息。_学小易找答案...
- 逆向libbaiduprotect(二)
- Atitit.在线充值功能的设计
- mysql汽车租赁管理系统
- 转载:子网掩码以及子网划分
- python批量裁剪图片_python实现图片批量剪切示例
- 微信公众平台素材编辑与自动回复图文教程
- 靠这篇竟然理解了CAN协议!实战STM32
- Photoshop教程_ps中怎么载入图案?PS图案如何导入?
- iOS 可用的热更新、热修复方案
- 后端程序员如何写出优雅的前端试图【Thymeleaf】
- 【Unity VR开发】结合VRTK4.0:创建滑块
- 线上直播 线下分享丨这样的2019 ACOUG年会你绝对喜欢!
- 微生物是如何影响身体健康的?
- Python实现区域生长算法(regionGrow)
热门文章
- (转载)o(1), o(n), o(logn), o(nlogn) 时间复杂度
- MongoDB 通过 Java 代码 CRUD 文档
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_01 File类_1_File类的概述
- C语言编程-9_4 字符统计
- OO——电梯作业总结
- 实现财务自由-《富爸爸穷爸爸》读书语句摘抄
- [uva11806]容斥定理
- python学习---字符串
- 站在过去的肩膀上(一分钟能做什么?:不可思议的“战拖”心理学)
- child-selector解释