atcoder#APC001C. Vacant Seat
Vacant Seat
配点 : 点
問題文
これはインタラクティブな問題です。
を 以上の奇数とします。
個の席が円状に並んでいます。 席には から まで番号が振られています。 各 () について、席 と席 は隣り合っています。 また、席 と席 は隣り合っています。
各席の状態は「空席」「男性が座っている」「女性が座っている」のどれかです。 ただし、同性どうしが隣り合う席に座っていることはありません。 が 以上の奇数の場合、空席が少なくとも つは存在することが示せます。
あなたには のみが与えられ、各席の状態は与えられません。 あなたの目標は、どれか つの空席の番号を当てることです。 そのために、あなたは次のクエリを繰り返し送ることができます。
- 整数 () を選ぶ。 席 が空席ならば、正答となる。 そうでなければ、席 に座っている人の性別が知らされる。
クエリを高々 回まで送ることで、どれか つの空席の番号を当ててください。
制約
- は奇数である。
入出力
最初に、 が次の形式で標準入力から与えられる。
N
次に、クエリを繰り返し送る。 クエリは次の形式で標準出力へ出力する。 行末には改行を出力せよ。
i
これに対するクエリの答えは、次の形式で標準入力から与えられる。
s
は Vacant
, Male
, Female
のどれかである。
これらはそれぞれ、席 の状態が「空席」「男性が座っている」「女性が座っている」であることを表す。
注意
- 出力の度に標準出力を flush せよ。 そうしない場合、
TLE
の可能性がある。 - が
Vacant
の場合、すぐにプログラムを終了せよ。 そうしない場合、ジャッジ結果は不定である。 - クエリ回数が を超えた場合、およびクエリの形式が正しくない場合、ジャッジ結果は不定である。
入出力例 1
このサンプルでは、 であり、席 , , の状態はそれぞれ「男性が座っている」「女性が座っている」「空席」である。
Input | Output |
---|---|
3 | |
0 | |
Male | |
1 | |
Female | |
2 | |
Vacant |