atcoder#ARC105D. [ARC105D] Let's Play Nim

[ARC105D] Let's Play Nim

题目描述

1 1 から N N の番号がついた N N 枚の袋と、1 1 から N N の番号がついた N N 枚の皿があります。 袋 i i には ai a_i 個のコインが入っています。どの皿もはじめは何も乗っていません。

先手太郎君と後手次郎君が対戦ゲームをします。 先手太郎君と後手次郎君の手番が交互に訪れます。先手太郎君が先手です。 それぞれのプレイヤーは、手番において以下の 2 2 つの手のどちらかを打つことが可能です。

  1. (コインが入った袋が 1 1 つ以上存在するとき):コインが入った袋と皿を 1 1 枚ずつ選び、選んだ袋の中に入った全てのコインを選んだ皿に移す(選ぶ皿にはコインが乗っていてもいなくても構わない)
  2. (コインが入った袋が存在しないとき):コインが乗った皿を 1 1 枚選び、選んだ皿から 1 1 枚以上のコインを取り除く

先に手が打てなくなった人の負けです。2 2 人が最適に行動したときに勝つのはどちらかを判定してください。

T T 個のテストケースが与えられるので、それぞれについて答えを求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

T T case1 \mathrm{case}_1 \vdots caseT \mathrm{case}_T

各ケースは以下の形式で与えられる。

N N a1 a_1 a2 a_2 \cdots aN a_N

输出格式

T T 行出力せよ。i i 行目には i i 番目のテストケースの勝者が先手太郎君ならば First、後手次郎君ならば Second を出力せよ。

题目大意

题意

n(1n105)n(1 \leq n\leq 10 ^ 5) 个背包,nn 个盘子,背包 ii 里有 ai(1ai109)a _ i(1 \leq a _ i \leq 10 ^ 9) 个硬币,初始时盘子里没有硬币。

两个人轮流操作,如果还有背包有硬币,那么可以选择一个背包,把全部硬币导入某个盘子中,如果没有背包有硬币,那么可以选择一个盘子,至少取走一个硬币,最后不能操作的人输。

3
1
10
2
1 2
21
476523737 103976339 266993 706803678 802362985 892644371 953855359 196462821 817301757 409460796 773943961 488763959 405483423 616934516 710762957 239829390 55474813 818352359 312280585 185800870 255245162
Second
First
Second

提示

制約

  • 与えられる入力は全て整数
  • 1  T  105 1\ \leq\ T\ \leq\ 10^5
  • 1  N  105 1\ \leq\ N\ \leq\ 10^{5}
  • 1  ai  109 1\ \leq\ a_i\ \leq\ 10^9
  • 1 1 つの入力ファイルにおいて、N N の総和は 2 × 105 2\ \times\ 10^5 を超えない。

Sample Explanation 1

- テストケース 1 1 では後手次郎君が勝利します。以下はそのような 2 2 人の行動の例です。 - 先手太郎君の手番では、袋 1 1 を選んで皿 1 1 にコインを移すしかできません。 - 後手次郎君の手番で皿 1 1 を選んで全てのコインを取り除くことで、先手太郎君は手番で手を打つことができず敗北します。 - コインが入った袋が存在するとき、コインの入った袋を選んで皿に移す手しか打てないことに注意してください。 - 同様に、コインが入った袋が存在しないときは皿を選んでコインを 1 1 つ以上取り除く手しか打てないことに注意してください。