atcoder#DDCC2020QUALE. Majority of Balls

Majority of Balls

题目描述

これはインタラクティブな問題です。

2N 2N 個のボールが一列に並べられており,左から順にボール 1, 2, 3, ..., 2N 1,\ 2,\ 3,\ ...,\ 2N と番号づけられています.ここで,N N は奇数です.この中には,N N 個の赤いボールと N N 個の青いボールが含まれています.

目隠しをされたあなたは,それぞれのボールの色を当てなければなりません.そのために,以下の質問を 210 210 回まで行うことができます.

  • 2N 2N 個のボールから任意に N N 個を選び,その中で赤いボールと青いボールのどちらの方が多いかを聞く.

では,始めましょう.

Input & Output Format

最初に,各色のボールの数 N N を標準入力から受け取ってください.

N N

次に,すべてのボールの色が分かるまで質問を繰り返してください.
質問は,以下の形式で標準出力に出力してください.

? A1 A_1 A2 A_2 A3 A_3 ... ... AN A_N

これは,あなたが N N 個のボール A1, A2, A3, ..., AN A_1,\ A_2,\ A_3,\ ...,\ A_N を選んで質問することを意味します.
ただし,$ 1\ \leq\ A_i\ \leq\ 2N,\ A_i\ \neq\ A_j\ (i\ \neq\ j) $ を満たさなければなりません.

これに対する応答は,次の形式で標準入力から与えられます.

T T

ここで,T T は以下のいずれかの文字列です.

  • Red: 選んだ N N 個のボールの中では,青のボールより赤のボールの方が多い.
  • Blue: 選んだ N N 個のボールの中では,赤のボールより青のボールの方が多い.
  • -1: あなたは不正な質問 (質問の回数が 210 210 回を超えた場合を含む),またはその他の不正な出力を行った.

ジャッジが応答 -1 を返した場合,提出はすでに不正解とみなされています.この場合,プログラムをすぐに終了させてください.

すべてのボールの色が分かったら,解答を以下の形式で標準出力に出力してください.

! c1 c_1 c2 c_2 c3 c_3 ... ... c2N c_{2N}

ここで,ci c_i はボール i i の色を表す文字で,赤の場合は ci= c_i= R,青の場合は ci= c_i= B としてください.

题目大意

这是一道交互题。

2N2N 个球排成一行,其中有 NN 个红球和 NN 个蓝球。从左到右分别编号为 112233、…、2N2N,保证 NN是奇数。

你蒙着眼睛的时候,会被要求猜每一个球的颜色,最多可以问 210210 个以下形式的问题:

你可以从 2N2N 个球中选择任意一个,然后问在这 NN 个球中红球是否多于蓝球。

现在,让我们开始吧。

提示

制約

  • 1  N  99 1\ \leq\ N\ \leq\ 99
  • N N は奇数

注意

  • **出力のたびに標準出力を flush してください.**そうしない場合、TLE の可能性があります.
  • 解答を出力したら (または応答 -1 を受け取ったら),プログラムをすぐに終了してください.そうしない場合、ジャッジ結果は不定です。
  • 不正な出力が行われた場合のジャッジ結果は不定です。

入出力例

Input Output 3 ? 1 2 3 Red ? 2 4 6 Blue ! RRBBRBこの例では N = 3 N\ =\ 3 であり,ボール 1, 2, 3, 4, 5, 6 1,\ 2,\ 3,\ 4,\ 5,\ 6 の色はそれぞれ赤,赤,青,青,赤,青です.

  • 1 1 回目の質問では,ボール 1, 2, 3 1,\ 2,\ 3 のうち赤は 2 2 個,青は 1 1 個であり,赤の方が多いのでジャッジは Red を返します.
  • 2 2 回目の質問では,ボール 2, 4, 6 2,\ 4,\ 6 のうち赤は 1 1 個,青は 2 2 個であり,青の方が多いのでジャッジは Blue を返します.