hdu1527取石子游戏(威佐夫博弈)(代码片段)

getcharzp getcharzp     2022-12-27     503

关键词:

取石子游戏

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 9725    Accepted Submission(s): 5605


Problem Description
有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。
 
Input
输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000,000。
 
Output
输出对应也有若干行,每行包含一个数字1或0,如果最后你是胜者,则为1,反之,则为0。
 
Sample Input
2 1
8 4
4 7
 
Sample Output
0
1
0

 

C/C++:

 1 #include <map>
 2 #include <queue>
 3 #include <cmath>
 4 #include <vector>
 5 #include <string>
 6 #include <cstdio>
 7 #include <cstring>
 8 #include <climits>
 9 #include <iostream>
10 #include <algorithm>
11 #define INF 0x3f3f3f3f
12 #define LL long long
13 #define wzf ((1 + sqrt(5.0)) / 2.0)
14 using namespace std;
15 
16 int n, m;
17 
18 int main()
19 
20     while (~scanf("%d%d", &n, &m))
21     
22         if (int(abs(n - m) * wzf) == min(n, m))
23             printf("0
");
24         else
25             printf("1
");
26     
27     return 0;
28 

 












题解报告:hdu1527取石子游戏(威佐夫博弈)(代码片段)

...http://acm.hdu.edu.cn/showproblem.php?pid=1527ProblemDescription有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走... 查看详情

hdu1527取石子游戏(威佐夫博弈)

TimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):8509    AcceptedSubmission(s):4833ProblemDescription有两堆石子,数量任意,可以不 查看详情

hdu1527取石子游戏威佐夫博弈

题目来源:HDU1527取石子游戏题意:中文思路:威佐夫博弈必败态为(a,b)ai+i=bi    ai=i*(1+sqrt(5.0)+1)/2  这题就求出i然后带人i和i+1推断是否成立下面转自网上某总结有公式ak=[k(1+√5)/2],bk=ak+k (k=0。1,... 查看详情

hdu2177取(2堆)石子游戏(威佐夫博弈)(代码片段)

HDU2177取(2堆)石子游戏ProblemDescription有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石... 查看详情

[shoi2002]取石子游戏-威佐夫博弈(代码片段)

Description有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现... 查看详情

博弈论入门之威佐夫博弈(代码片段)

...这里威佐夫博弈威佐夫博弈是一类经典的博弈问题有两堆石子,两个顶尖聪明的人在玩游戏,每次每个人可以从任意一堆石子中取任意多的石子或者从两堆石子中取同样多的石子,不能取得人输,分析谁会获得胜利博弈分析威佐... 查看详情

巴仕博弈+威佐夫博弈(代码片段)

...在话下了巴什博奕:两个顶尖聪明的人在玩游戏,有n个石子,每人可以随便拿1到m个石子,不能拿的人为败者,问谁会胜利巴什博奕是博弈论问题中基础的问题它是最简单的一种情形对应一种状态的博弈博弈分析如果有m+1个石子... 查看详情

(hdu-1527)取石子游戏(斐波那契博弈)(代码片段)

题目链接:取石子游戏-HDU1527-VirtualJudge(ppsucxtt.cn)这道题目显然是一道斐波那契博弈的裸题,我在这里只给出代码,如果有对斐波那契博弈题目的做法不理解的小伙伴可以看下我之前的博客,我在这里给出博客地址... 查看详情

85-取石子-威佐夫博弈

 http://poj.org/problem?id=1067                                        取石子游戏TimeLimit: 1000MS MemoryLimit: 10000KTotalSubmissions: 45409 Accepted: 15533Description有两 查看详情

poj1067取石子游戏威佐夫博弈博弈论

http://poj.org/problem?id=1067有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石... 查看详情

51nod1185威佐夫游戏v2(威佐夫博弈)

...bsp;KB分值: 0 难度:基础题 收藏 关注有2堆石子。AB两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设AB都非常聪明,拿石子的过程中不... 查看详情

洛谷p2252取石子游戏(威佐夫博弈)

题目背景无题目描述有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子... 查看详情

(博弈论高精度小数)51nod1185威佐夫游戏v2(代码片段)

有2堆石子。AB两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设AB都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,问最后谁能赢得比... 查看详情

51nod1072威佐夫游戏(简单博弈)

...www.51nod.com/onlineJudge/questionCode.html#!problemId=1072题意:有2堆石子。AB两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设AB都非常聪明,拿石子的过程中不... 查看详情

博弈论-威佐夫博弈

理论分析问题:首先有两堆石子,博弈双方每次可以取一堆石子中的任意个,不能不取,或者取两堆石子中的相同个。先取完者赢。分析:首先我们根据条件来分析博弈中的奇异局势第一个(0,0),先手输,当游戏某一方面对... 查看详情

hdu5973aninterestinggame威佐夫博奕(wythoffgame)(代码片段)

...5973:http://acm.hdu.edu.cn/showproblem.php?pid=5975题意:  有两堆石子,每次可以从一堆石子中取任意个,或者从两堆石子中取相同个数的石子。两个人轮流用这种策略取石子,谁取完所有的石子就算胜利。问先手胜还是后手胜。思路:... 查看详情

威佐夫博弈

...样威佐夫也有一个经典的例题:1.有两堆数量分别为n,m个石子的石子堆;2.两个人轮流取石子,可以在一堆石子中取任意个,或者,在两堆石子中每堆石子取相同数目的石子; 输出:如果先手赢,输出1,否则输出0。 题解... 查看详情

1185威佐夫游戏v2(代码片段)

1185威佐夫游戏V2 有2堆石子。AB两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设AB都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量... 查看详情