#ddcc2020quale. [ddcc2020_qual_e]Majority of Balls

[ddcc2020_qual_e]Majority of Balls

题目描述

这是一个交互式任务。

我们有 2N2N 个球排成一排,从左到右编号为 1,2,3,...,2N1, 2, 3, ..., 2N,其中 NN 是奇数。其中,有 NN 个红色球和 NN 个蓝色球。

在被蒙上眼睛的情况下,你面临着一个挑战,要通过询问最多 210210 个问题来正确猜出每个球的颜色,问题的形式如下:

  • 你选择 2N2N 个球中的任意 NN 个球,并询问这 NN 个球中是否有更多的红色球还是蓝色球。

现在,让我们开始。

约束条件

  • 1N991 \leq N \leq 99
  • NN 是一个奇数。

输入输出格式

首先,从标准输入中接收每种颜色球的数量 NN

NN

然后,直到你弄清楚每个球的颜色为止,继续提问。问题应以以下格式打印到标准输出:

? A1A_1 A2A_2 A3A_3 ...... ANA_N

这表示你正在询问关于球 A1,A2,A3,...,ANA_1, A_2, A_3, ..., A_N 的情况,其中满足 1Ai2N1 \leq A_i \leq 2NAiAj(ij)A_i \neq A_j (i \neq j)

对于这个问题,回答 TT 将以以下格式从标准输入给出:

TT

其中 TT 是以下字符串之一:

  • Red:在选择的 NN 个球中,红色球比蓝色球多。
  • Blue:在选择的 NN 个球中,蓝色球比红色球多。
  • -1:你提出了一个无效的问题(包括你提问超过 210210 个问题的情况),或者其他无效的情况。

如果评测员返回 -1,则你的提交已经被判断为不正确。程序在这种情况下应立即退出。

当你弄清楚每个球的颜色时,以以下格式将你的猜测打印到标准输出:

! c1c_1c2c_2c3c_3......c2Nc_{2N}

这里,cic_i 应该是代表第 ii 个球颜色的字符;使用 R 表示红色,使用 B 表示蓝色。

注意事项

  • 每次打印输出后都要刷新标准输出。 如果不这样做可能导致 TLE
  • 在打印猜测结果后立即终止程序(或接收到 -1 的回答)。否则,评判结果将无法确定。
  • 如果你的程序打印出无效的内容,评判结果将无法确定。

示例 输入输出

输入

输出

3

? 1 2 3

Red

? 2 4 6

Blue

! RRBBRB

在这个示例中,N=3N = 3,球 1,2,3,4,5,61, 2, 3, 4, 5, 6 的颜色分别是红、红、蓝、蓝、红、蓝。

  • 在第一个问题中,球 1,2,31, 2, 3 中有两个红色球和一个蓝色球,所以评判返回 Red
  • 在第二个问题中,球 2,4,62, 4, 6 中有一个红色球和两个蓝色球,所以评判返回 Blue