833 取石子(七)

2021-08-20 14:45:53 字數 947 閱讀 2101

yougth和hrdv玩乙個遊戲,拿出n個石子擺成一圈,yougth和hrdv分別從其中取石子,誰先取完者勝,每次可以從中取乙個或者相鄰兩個,hrdv先取,輸出勝利著的名字。

輸入包括多組測試資料。

每組測試資料乙個n,資料保證int範圍內。

輸出勝利者的名字。

2

3

hrdv
yougth

假設石子數等於5,如果先者先取乙個,那麼後者拿走兩個,將剩下的兩個石子分成兩堆,後者贏。如果先者先取二個,那麼後者取乙個使剩下的兩個石子分成兩堆,後者贏。

假設石子數等於6,如果先者先取乙個,那麼後者拿走乙個,將剩下的石子分成兩段,每段兩個,如果先者再拿兩個,那麼後者贏,如果先者再拿乙個,那麼後者再取另一堆中的乙個,這樣剩下的兩個石子被分成兩堆, 後者贏。         如果先者先取兩個,那麼後者也取兩個使剩下的兩個石子分成兩堆,後者贏。

所以當先者取走後,後者取走乙個或者兩個,將剩下的石子分成對稱的兩段,以此類推,那麼如果石子數大於2後者一定贏。

假設石子數等於5,如果先者先取乙個,那麼後者拿走兩個,將剩下的兩個石子分成兩堆,後者贏。如果先者先取二個,那麼後者取乙個使剩下的兩個石子分成兩堆,後者贏。

假設石子數等於6,如果先者先取乙個,那麼後者拿走乙個,將剩下的石子分成兩段,每段兩個,如果先者再拿兩個,那麼後者贏,如果先者再拿乙個,那麼後者再取另一堆中的乙個,這樣剩下的兩個石子被分成兩堆, 後者贏。         如果先者先取兩個,那麼後者也取兩個使剩下的兩個石子分成兩堆,後者贏。

所以當先者取走後,後者取走乙個或者兩個,將剩下的石子分成對稱的兩段,以此類推,那麼如果石子數大於2後者一定贏。

#includeusing namespace std;

int main()

return 0;

}

NYOJ833 取石子(七)

描述 yougth和hrdv玩乙個遊戲,拿出n個石子擺成一圈,yougth和hrdv分別從其中取石子,誰先取完者勝,每次可以從中取乙個或者相鄰兩個,hrdv先取,輸出勝利著的名字。輸入 輸入包括多組測試資料。每組測試資料乙個n,資料保證int範圍內。輸出輸出勝利者的名字。樣例輸入 2 3 樣例輸出 ...

NYoj 833 取石子(七)

時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述 yougth和hrdv玩乙個遊戲,拿出n個石子擺成一圈,yougth和hrdv分別從其中取石子,誰先取完者勝,每次可以從中取乙個或者相鄰兩個,hrdv先取,輸出勝利著的名字。輸入 輸入包括多組測試資料。每組測試資料乙個n,資料保...

nyoi 833取石子(七)

本來以為是巴什博弈,一提交發現不對,再仔細讀讀題,發現了規律 題目的敘述是將所有的石子擺成一圈,而巴什博弈是離散的,不符合這一題的要求。假設石子數等於5,如果先者先取乙個,那麼後者拿走兩個,將剩下的兩個石子分成兩堆,後者贏。如果先者先取二個,那麼後者取乙個使剩下的兩個石子分成兩堆,後者贏。假設石子數...