NYOJ0886 取石子(八)

2021-08-20 00:03:31 字數 825 閱讀 3643

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:3描述

有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,如果輪到你先取,假設雙方都採取最好的策略,問最後你是勝者還是敗者。如果你勝,你第1次怎樣取子? 輸入

輸入包含若干行,表示若干種石子的初始情況,其中每一行包含兩個非負整數a和b,表示兩堆石子的數目,a和b都不大於1,000,000。a=b=0退出。

輸出輸出也有若干行,如果最後你是敗者,則為0,反之,輸出1,並輸出使你勝的你第1次取石子後剩下的兩堆石子的數量x,y,x<=y。如果在任意的一堆中取走石子能勝同時在兩堆中同時取走相同數量的石子也能勝,先輸出取走相同數量的石子的情況,假如取一堆的有多種情況,先輸出從石子多的一堆中取的情況,且要求輸出結果保證第二個值不小於第乙個值。

樣例輸入

1 2 5 72 20 0

樣例輸出

013 53 54 710 01 2

上傳者tc_楊闖亮

威佐夫博弈變式,要求輸出前一步的局勢

#include #include #define p ( sqrt(5.0)+1 )/2

void swap( int &a , int &b )

int main()

int temp;

for( int i=0 ; ; i++ )

} }}

NYOJ 取石子總結

nyoj的取石子有好多道,除了兩道難度為6的,剩下的在這兒簡單總結一下結論。取石子 一 有一堆石子共有n個,a和b輪流取,a先,每次最少取1個,最多取m個,先取完者勝,a,b足夠聰明,問誰先勝?比較簡單的巴什博弈,若n m 1 0,a勝,否則b勝。取石子 七 n個石子擺成一圈,a和b輪流取,每次可以...

NYOJ 取石子(一)

取石子 一 時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 一天,tt在寢室閒著無聊,和同寢的人玩起了取石子遊戲,而由於條件有限,他 她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為n 1 n 1000000 兩個人輪番取出其中的若干個,每次最多取m個 1...

nyoj 886 取石子(八)(威佐夫博弈)

時間限制 1000 ms 記憶體限制 65535 kb 難度 3描述 有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子 二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,...