時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:1 描述
yougth和hrdv玩乙個遊戲,拿出n個石子擺成一圈,yougth和hrdv分別從其中取石子,誰先取完者勝,每次可以從中取乙個或者相鄰兩個,hrdv先取,輸出勝利著的名字。
輸入
輸入包括多組測試資料。
每組測試資料乙個n,資料保證int範圍內。
輸出輸出勝利者的名字。
樣例輸入
23
樣例輸出
hrdvyougth
**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,如果先者先取乙個,那麼後者拿走兩個,將剩下的兩個石子分成兩堆,後者贏。如果先者先取二個,那麼後者取乙個使剩下的兩個石子分成兩堆,後者贏。假設石子數...