poj1067(威佐夫博弈)

原创 2013年12月04日 11:14:57
Time Limit: 1000MS   Memory Limit: 10000K
Total Submissions: 32243   Accepted: 10673

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

Source


 
   本题是个简单的取石子游戏,可以建立威佐夫博弈模型。满足k=max-min,如果a=[k(1+√5)/2],先取者必败;反之必胜。
import java.util.Scanner;


public class poj1067{
	public static void main(String[] str)
	{
		Scanner key=new Scanner(System.in);
		int a,b,dif;
		double coef=(1.0+Math.sqrt(5.0))/2.0;
		while(key.hasNext())
		{
			a=key.nextInt();
			b=key.nextInt();
			int tmp;
			if(a>b)
			{
				tmp=a;a=b;b=tmp;
			}
			dif=b-a;
			if(a==(int)(dif*coef))
				System.out.println(0);
			else System.out.println(1);
		}
	}

}

 
 
 
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

POJ-1067 取石子游戏(威佐夫博弈)

直接是:威佐夫博弈。 这个过于繁琐,只能运用现成的结论。 设奇异局势(必败局势)为(a[i],b[i]),则有a[0]=b[0]=0;a[k]=前面未出现的最小自然数,b[k]=a[k]+k 具...

[威佐夫博弈 黄金分割比 数学技巧] POJ 1067 取石子游戏 & HDU 1527 取石子游戏

论文:杨思雨--美,无处不在——浅谈“黄金分割”和信息学的联系 以下摘录证明 #include #include #include #inc...

POJ 1067 取石子游戏 威佐夫博弈

取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 42314   Accepte...

poj 1067 取石子游戏(威佐夫博弈模板)

取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 39330   Accepte...
  • acm_cxq
  • acm_cxq
  • 2016年07月03日 17:44
  • 233

威佐夫博弈(附POJ1067)

威佐夫博弈: 有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 我们用(ak,bk)(ak局势。 如果甲面对局势(0,0),说明...

POJ 1067 取石子游戏 (巴什博弈+威佐夫博弈)

本来以为是很简单的题目,以为是下面介绍的巴什博弈(Bash Game)题型,这种题目的解答方式就是保证每次取完是N整数倍范围即可,但是题目原来不是巴什博弈,想参照巴什博弈的思想,找出每个时刻A取完能够...

百练_1067取石子游戏(威佐夫博弈)

1067:取石子游戏 描述:         有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同...

POJ 1067 取石子游戏(威佐夫博奕)

题目地址:POJ 1067 威佐夫博弈模型。判断奇异局势。 根据面对非奇异局势,先拿者必胜;反之,则后拿者取胜。 判断奇异局势只用一个公式来判断就行。 假设b>a,若a==(int)(b-a)*(1...

POJ1067学习 威佐夫博奕(Wythoff Game)

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

【POJ1067】取石子游戏 ||【NYOJ161】(威佐夫博奕(Wythoff Game))

 威佐夫博奕(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。这种情况下是颇为复杂的。我们用(ak,bk)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj1067(威佐夫博弈)
举报原因:
原因补充:

(最多只允许输入30个字)