atcoder#ARC105D. [ARC105D] Let's Play Nim
[ARC105D] Let's Play Nim
配点 : 点
問題文
から の番号がついた 枚の袋と、 から の番号がついた 枚の皿があります。 袋 には 個のコインが入っています。どの皿もはじめは何も乗っていません。
先手太郎君と後手次郎君が対戦ゲームをします。 先手太郎君と後手次郎君の手番が交互に訪れます。先手太郎君が先手です。 それぞれのプレイヤーは、手番において以下の つの手のどちらかを打つことが可能です。
- (コインが入った袋が つ以上存在するとき):コインが入った袋と皿を 枚ずつ選び、選んだ袋の中に入った全てのコインを選んだ皿に移す(選ぶ皿にはコインが乗っていてもいなくても構わない)
- (コインが入った袋が存在しないとき):コインが乗った皿を 枚選び、選んだ皿から 枚以上のコインを取り除く
先に手が打てなくなった人の負けです。 人が最適に行動したときに勝つのはどちらかを判定してください。
個のテストケースが与えられるので、それぞれについて答えを求めてください。
制約
- 与えられる入力は全て整数
- つの入力ファイルにおいて、 の総和は を超えない。
入力
入力は以下の形式で標準入力から与えられる。
各ケースは以下の形式で与えられる。
出力
行出力せよ。 行目には 番目のテストケースの勝者が先手太郎君ならば First
、後手次郎君ならば Second
を出力せよ。
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
- テストケース では後手次郎君が勝利します。以下はそのような 人の行動の例です。- 先手太郎君の手番では、袋 を選んで皿 にコインを移すしかできません。
- 後手次郎君の手番で皿 を選んで全てのコインを取り除くことで、先手太郎君は手番で手を打つことができず敗北します。
- 先手太郎君の手番では、袋 を選んで皿 にコインを移すしかできません。
- 後手次郎君の手番で皿 を選んで全てのコインを取り除くことで、先手太郎君は手番で手を打つことができず敗北します。
- コインが入った袋が存在するとき、コインの入った袋を選んで皿に移す手しか打てないことに注意してください。
- 同様に、コインが入った袋が存在しないときは皿を選んでコインを つ以上取り除く手しか打てないことに注意してください。