程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> hdu1525 Euclid's Game , 基礎博弈

hdu1525 Euclid's Game , 基礎博弈

編輯:C++入門知識

hdu1525 Euclid's Game , 基礎博弈


 
題意:
兩人博弈,給出兩個數a和b,

較大數減去較小數的任意倍數,結果不能小於0,將兩個數任意一個數減到0的為勝者。

 

題解:
假設a大於b

a == b. N態
a%b == 0. N態
a >= 2*b,先手能決定誰取(b,a%b),並且知道(b,a%b)是P態還是N態. N態

b(b,a-b) , 然後再進行前面的判斷.

 

 

#include
#include
using namespace std;

int main() {
    int a, b;
    while(scanf(%d%d, &a, &b))
    {
        if(a==0&&b==0) break;
        if(a=2) break;
            int t = a;
            a = b;
            b = t - a;
            Stan = !Stan;
        }
        if(Stan) printf(Stan wins
);
        else printf(Ollie wins
);
    }
    return 0;
}


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved