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

hdu 2147 kiki's game, 入門基礎博弈

編輯:C++入門知識

hdu 2147 kiki's game, 入門基礎博弈


博弈的一些概念:
必敗點(P點) : 前一個選手(Previous player)將取勝的位置稱為必敗點。

必勝點(N點) : 下一個選手(Next player)將取勝的位置稱為必勝點。


必敗(必勝)點屬性
(1) 所有終結點是必敗點(P點);
(2) 從任何必勝點(N點)操作,至少有一種方法可以進入必敗點(P點);
(3)無論如何操作, 從必敗點(P點)都只能進入必勝點(N點).


hdu 2147 kiki's game

題意:
在一個m*n的棋盤內,從(1,m)點出發,每次可以進行的移動是:左移一,下移一,左下移一。然後kiki每次先走,判斷kiki時候會贏(對方無路可走的時候)。

我們可以把P、N狀態的點推出來如下圖

\


#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==0 || b%2==0) printf("Wonderful!\n");
        else printf("What a pity!\n");
    }
    return 0;
}


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