atcoder#DDCC2020QUALE. Majority of Balls
Majority of Balls
配点: 点
問題文
これはインタラクティブな問題です。
個のボールが一列に並べられており,左から順にボール と番号づけられています.ここで, は奇数です.この中には, 個の赤いボールと 個の青いボールが含まれています.
目隠しをされたあなたは,それぞれのボールの色を当てなければなりません.そのために,以下の質問を 回まで行うことができます.
- 個のボールから任意に 個を選び,その中で赤いボールと青いボールのどちらの方が多いかを聞く.
では,始めましょう.
制約
- は奇数
入出力
最初に,各色のボールの数 を標準入力から受け取ってください.
N
次に,すべてのボールの色が分かるまで質問を繰り返してください. 質問は,以下の形式で標準出力に出力してください.
? A_1 A_2 A_3 ... A_N
これは,あなたが 個のボール を選んで質問することを意味します. ただし, を満たさなければなりません.
これに対する応答は,次の形式で標準入力から与えられます.
T
ここで, は以下のいずれかの文字列です.
Red
: 選んだ 個のボールの中では,青のボールより赤のボールの方が多い.Blue
: 選んだ 個のボールの中では,赤のボールより青のボールの方が多い.-1
: あなたは不正な質問 (質問の回数が 回を超えた場合を含む),またはその他の不正な出力を行った.
ジャッジが応答 -1
を返した場合,提出はすでに不正解とみなされています.この場合,プログラムをすぐに終了させてください.
すべてのボールの色が分かったら,解答を以下の形式で標準出力に出力してください.
! c_1c_2c_3...c_{2N}
ここで, はボール の色を表す文字で,赤の場合は R
,青の場合は B
としてください.
注意
- **出力のたびに標準出力を flush してください.**そうしない場合、
TLE
の可能性があります. - 解答を出力したら (または応答
-1
を受け取ったら),プログラムをすぐに終了してください.そうしない場合、ジャッジ結果は不定です。 - 不正な出力が行われた場合のジャッジ結果は不定です。
入出力例
Input | Output |
---|---|
3 |
|
? 1 2 3 |
|
Red |
|
? 2 4 6 |
|
Blue |
|
! RRBBRB |
この例では であり,ボール の色はそれぞれ赤,赤,青,青,赤,青です.
- 回目の質問では,ボール のうち赤は 個,青は 個であり,赤の方が多いのでジャッジは
Red
を返します. - 回目の質問では,ボール のうち赤は 個,青は 個であり,青の方が多いのでジャッジは
Blue
を返します.