QOJ.ac

QOJ

実行時間制限: 3 s メモリ制限: 512 MB 満点: 100
統計

中欧信息学奥林匹克竞赛(CEOI)今年在我们的祖国举办。参赛选手们因为信息学奥赛中最著名的克罗地亚传统而感到格外兴奋。当然,这指的就是赠送带有标志性“方格”图案的帽子。

然而,Malnar 先生决定终结这一传统。今年将分发纯色的帽子,颜色为红色或白色。Malnar 先生做出这个决定并非心血来潮,而是经过深思熟虑的计划的一部分。

Malnar 知道,在某个时刻,会有 $N$ 名年轻的信息学选手聚集在同一个地方,每个人头上都会戴着一顶红色或白色的帽子。当然,每位选手都能看到除自己以外的所有帽子,并且按照惯例,所有人会同时喊出他们认为自己所戴帽子的颜色。

所有猜对自己帽子颜色的选手将获得与 Malnar 先生共进晚餐的奖励。但是,Malnar 先生非常希望晚餐时两种颜色的帽子都能得到充分的体现。他告诉选手们,在所有戴白色帽子的 $b$ 名选手中,至少要有 $\lceil b/2 \rceil$ 名选手猜对自己的颜色;同样,在所有戴红色帽子的 $c$ 名选手中,至少要有 $\lceil c/2 \rceil$ 名选手猜对自己的颜色,否则他将不会带任何人去吃晚餐。

请帮助这些年轻的信息学选手找到一种策略,确保对于任何可能的帽子分布,Malnar 先生的条件都能得到满足。

输入格式

输入的第一行包含一个自然数 $N$,表示选手的数量。

输出格式

选手们用 $1$ 到 $N$ 的自然数进行编号。设 $s_i$ 为表示第 $i$ 位选手帽子颜色的字符,其中 B 代表白色,C 代表红色。

你需要输出 $N$ 行,每行包含一个长度为 $2^{N-1}$ 的由 B 和 C 组成的字符串,用于描述第 $i$ 位选手的策略。记该字符串为 $x_i$。选手会观察其他人的帽子,并将他所看到的局面描述为字符串 $y_i = s_1 \dots s_{i-1}s_{i+1} \dots s_N$。然后,他会确定该字符串在所有长度为 $N-1$ 的 B 和 C 组成的字符串按字母顺序排列后的序号 $k_i$。如果他的策略字符串 $x_i$ 中的第 $k_i$ 个字符是 B,他就会喊出“bijela!”(白色!),如果是 C,他就会喊出“crvena!”(红色!)。

更多说明请参考样例。

子任务

测试点 分值 测试点 分值 测试点 分值
$N = 4$ 7 $N = 9$ 7 $N = 14$ 6
$N = 5$ 7 $N = 10$ 7 $N = 15$ 6
$N = 6$ 7 $N = 11$ 7 $N = 16$ 6
$N = 7$ 7 $N = 12$ 7 $N = 17$ 6
$N = 8$ 7 $N = 13$ 7 $N = 18$ 6

样例

输入 1

2

输出 1

BC
CC

输入 2

3

输出 2

BBCC
BCBC
BBCC

说明

图片的第一行展示了第一个样例中所有四种可能的情况。 图片的第二行展示了第二个样例中两种可能的情况。

第一种情况: $1 \quad s_1 = \text{C} \quad x_1 = \text{CC} \quad k_1 = 4 \implies \text{C}$ $2 \quad s_2 = \text{C} \implies x_2 = \text{CC} \implies k_2 = 4 \implies \text{C}$ $3 \quad s_3 = \text{C} \quad x_3 = \text{CC} \quad k_3 = 4 \implies \text{C}$

第二种情况: $1 \quad s_1 = \text{C} \quad x_1 = \text{BB} \quad k_1 = 1 \implies \text{B}$ $2 \quad s_2 = \text{B} \implies x_2 = \text{CB} \implies k_2 = 3 \implies \text{B}$ $3 \quad s_3 = \text{B} \quad x_3 = \text{CB} \quad k_3 = 3 \implies \text{C}$

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.