NYoj 833 取石子(七)

2021-06-22 02:36:57 字數 897 閱讀 9926

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:1 描述

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

輸入

輸入包括多組測試資料。

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

輸出輸出勝利者的名字。

樣例輸入

2

3

樣例輸出

hrdv

yougth

**poj

上傳者tc_楊闖亮

這是一道水題...

n==1 || n==2時明顯是hrdv贏

那麼推測:

n==3時

hrdv取乙個或兩個都是yougth贏

n==4時

若hrdv取乙個,yougth取剩餘3個中的中間乙個,則hrdv下次只能取乙個,最後是yougth贏;

若hrdv取兩個,則明顯是yougth贏

n==5時

若hrdv取乙個,yougth取剩餘4個中的邊界乙個可保證自己贏

若hrdv取兩個,yougth取剩餘3個中的中間乙個,可保證自己贏

我就是這樣推的...

所以n>2時都是yougth贏

但是沒有理論依據

有乙個巴什博弈,具體就不說了

最近沒打算刷博弈系列的題...

這道題的**如下:

#include #include using namespace std;

int main(void)

return 0;

}

NYOJ833 取石子(七)

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

833 取石子(七)

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

nyoi 833取石子(七)

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