nyoj 888 取石子(九)(尼姆博弈變形)

2021-08-19 16:58:27 字數 862 閱讀 8529

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:4描述

最近topcoder的yougth和hrdv在玩乙個遊戲,遊戲是這樣的。有n

堆石子,

兩個人輪流從其中某一堆中任意取走一定的石子

,最後不能取的為贏家,注意:

每次只能從一堆取任意個,可以取完這堆,但不能不取。

假設yougth先取,輸入贏了的人名字、輸入

第一行輸入n,代表有n組測試資料(n<=10000)

以下每組測試資料報含兩行:第一行:包含乙個整數m,代表本組測試資料有m(m<=1000)堆石子;

:第二行:包含m個整數ai(ai<=10000),分別代表第i堆石子的數量。

輸出若yougth贏輸出「yougth」,否則輸出「hrdv」注意每組結果佔一行。。

樣例輸入

3

21 1

33 8 11

25 10

樣例輸出

yougth

hrdv

yougth

把最後不能取的變為贏家了

結論:統計一下所有數一下大於一的個數,並將所有數字異或一遍,若大於一的個數為0&&異或之後為0||大於一的個數大於0&&異或之後不為零,則a(yougth)勝,否則b(hrdv)勝。

#includeusing namespace std;

int main()

if((sum==0&&s==0)||(sum!=0&&s!=0))

else printf("hrdv\n");

}}

取石子遊戲之尼姆博弈

尼姆博弈 有三堆各若干個物品,兩個人輪流從某一堆取任意多的物品,規定每次至少取乙個,多者不限,最後取光者得勝 這種情況與二進位制有著很大的關係,我們用 a,b,c 來表示某種局勢,那麼 0,0,0 必然為奇異局勢,最後乙個面對這個局勢的必敗。0,n,n 也是種奇異局勢。因為如果對手在其中一堆取m個石...

取石子系列 四 取石子(六)(尼姆博弈)

取石子 六 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 最近topcoder的piaoyi和hrdv很無聊,於是就想了乙個遊戲,遊戲是這樣的 有n堆石子,兩個人輪流從其中某一堆中任意取走一定的石子,最後不能取的為輸家,注意 每次只能從一堆取任意個,可以取完這堆,但不能不取...

取 m堆 石子遊戲(尼姆博弈)

description m堆石子,兩人輪流取.只能在1堆中取.取完者勝.先取者負輸出no.先取者勝輸出yes,然後輸出怎樣取子.例如5堆 5,7,8,9,10先取者勝,先取者第1次取時可以從有8個的那一堆取走7個剩下1個,也可以從有9個的中那一堆取走9個剩下0個,也可以從有10個的中那一堆取走7個剩...