51nod 1069 Nim遊戲(博弈)

2021-08-20 01:40:31 字數 738 閱讀 5259

1069 nim遊戲

基準時間限制:1 秒 空間限制:131072 kb 分值: 0 難度:基礎題

有n堆石子。a b兩個人輪流拿,a先拿。每次只能從一堆中取若干個,可將一堆全取走,但不可不取,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n及每堆石子的數量,問最後誰能贏得比賽。

例如:3堆石子,每堆1顆。a拿1顆,b拿1顆,此時還剩1堆,所以a可以拿到最後1顆石子。

input

第1行:乙個數n,表示有n堆石子。(1 <= n <= 1000)

第2 - n + 1行:n堆石子的數量。(1 <= a[i] <= 10^9)

output

如果a獲勝輸出a,如果b獲勝輸出b。
input示例

311

1

output示例

a
異或值為0的時候,說明總的堆數是偶數,並且兩個人每一輪拿的數量都是一樣的(異或,a^a=0,a^0=a);最終最後一次由b拿完,所以b贏.

#includeusing namespace std;

int main()

if(!ans)

cout<

else

cout<

return 0;

}

51Nod 1069 Nim遊戲 nim博弈)

1069 nim遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 有n堆石子。a b兩個人輪流拿,a先拿。每次只能從一堆中取若干個,可將一堆全取走,但不可不取,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n及每堆石子的數量,問最後誰...

51 nod 1069 Nim遊戲(博弈)

1069 nim遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 有n堆石子。a b兩個人輪流拿,a先拿。每次只能從一堆中取若干個,可將一堆全取走,但不可不取,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n及每堆石子的數量,問最後誰...

1069 Nim遊戲(51NOD基礎)

1069 nim遊戲 51nod基礎 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 有n堆石子。a b兩個人輪流拿,a先拿。每次只能從一堆中取若干個,可將一堆全取走,但不可不取,拿到最後1顆石子的人獲勝。假設a b都非常聰明,拿石子的過程中不會出現失誤。給出n及每堆石子...