取(2堆)石子游戏 HDU - 2177(威佐夫博奕)

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2177
取(2堆)石子游戏 HDU - 2177(威佐夫博奕)_第1张图片
在先手必胜时,有两种情况W>X和W

  • W 有三种方法
    1同时减少X,Y --> X变少,W不变(公式求解)
    2 只减少X–> X变少,W变大(循环求解)
    3只减少Y,把Y减少到X之下–>重构X,Y,Z(循环求解)
  • W>X
    1 只减少Y–>X不变,W变少(循环求解)
    2 只减少Y,把Y减少到X之下–>重构X,Y,Z(循环求解)
#include 
#include 
#include 
using namespace std;

int main()
{
   int x,y;
   while(scanf("%d%d",&x,&y)!=EOF)
   {
       if(x+y==0)
       break;
       if(y

你可能感兴趣的:(博弈,HDU)