眾所皆知,拈(Nim)是一個很經典的遊戲,有許多數學家研究出了許多變形。
今天,有兩個人正在玩 Nim 遊戲:現在地面上總共有 $N$ 堆石頭,第 $i$ 堆有 $a_i$ 顆石頭。遊戲開始時,先手和後手會輪流取石頭,先手先取。玩家取石頭的方式為:選擇一堆數量非零的石頭堆,拿走正整數數量的石頭。如果有玩家無法執行上面那個操作,他就輸了。
但是,那兩個人玩的遊戲中,先手可以在遊戲開始之前作弊(也可以選擇不要作弊),先手可以選擇任意一堆數量非零的石頭,並且拿走一顆石頭。
請問,在上述遊戲規則中,先手、後手都使用最佳策略的情況下,誰會取得勝利。
輸入第一行有一個正整數 $T$,代表共有幾筆測試資料。
每筆測試資料佔兩行,第一行包含一個正整數 $N$ ,代表石頭的堆數。
接下來的一行,包含 $N$ 個整數,第 $i$ 個整數為 $a_i$ ,代表第 $i$ 堆石頭的個數。
對於每筆測試資料,如果先手會獲得勝利,請輸出 First
,否則請輸出 Second
。
2
9
1 2 3 4 5 6 7 8 9
5
6 3 1 2 6
First
First
#include <cstdio> int main () { int T; scanf("%d",&T); for (int cases=0;cases<T;++cases) { int n; scanf("%d",&n); for (int i=0;i<n;++i) { int x; scanf("%d",&x); } printf("First\n"); } }
雖然原題的 $T$ 的範圍限制高達 $10$,但請輸出一個 $T=1$ 的測試資料,使得上述的程式碼會輸出錯的答案。
以下程式碼能產生本題合法但一定不會讓你得到 AC 的測試資料。
#include <cstdio> int main() { printf("1\n5\n1 2 3 4 5\n"); }
No. | Testdata Range | Score |
---|---|---|
1 | 0 | 1 |