#P15168. [SWERC 2022] Library game
[SWERC 2022] Library game
说明
Alessia 和 Bernardo 正在通过他们大学图书馆的书籍探索竞赛编程的世界。
图书馆由 个区域组成,编号从 到 。每个区域只包含某一特定主题的书籍,不同的区域对应不同的主题。为了防止学生在图书馆内随意游荡,学校建立了一套通行证制度。每张通行证有一个长度 ,允许进入图书馆中连续的 个区域。在一次访问中,学生必须从这些区域中选择恰好一本书并离开图书馆。每张通行证只能使用一次。
目前,Alessia 和 Bernardo 有 张通行证,长度分别为 。他们对于如何提升有不同的看法:Alessia 认为学习更多不同的主题很重要,而 Bernardo 认为深入学习至少一个主题更为关键。因此,Alessia 想用这 张通行证获得 本不同主题的书,而 Bernardo 则希望至少获得两本同一主题的书。
他们达成了如下协议:在接下来的 天中,每一天,Alessia 从剩余的通行证中选择一张长度为 的通行证,并选择一个长度为 的连续区域区间,然后 Bernardo 进入图书馆,从这些区域中选择恰好一本书。每张通行证只能使用一次。
Bernardo 能否至少获得两本同一主题的书,还是 Alessia 能成功避免这种情况?
你需要选择扮演 Alessia 或 Bernardo,并完成你所选角色的目标。评测器将扮演另一个角色。注意,即使在某一时刻 Bernardo 已经获得了两本同一主题的书,交互仍需持续到 天结束。
输入格式
第一行包含两个整数 和 (,)——通行证的数量和区域的数量。
第二行包含 个整数 ()——可用通行证的长度。
交互格式
首先,你需要输出一行,内容为 或 ,表示你选择扮演的角色。
接下来,对于每一轮:
- 如果你扮演 Alessia,每一轮输出一行两个整数 和 (),表示你选择一张长度为 的通行证,以及区间 。注意,必须还有至少一张长度为 的通行证未被使用。之后,读入一个整数 (),表示 Bernardo 选择的主题编号。
- 如果你扮演 Bernardo,每一轮读入两个整数 和 (),表示 Alessia 选择的通行证长度和区间起点。保证还有至少一张长度为 的通行证未被使用。然后,输出一行一个整数 (),表示你选择的主题编号。
如果你的某次交互格式错误,交互器会立即终止,你的程序会收到 判定。否则,你将根据上述游戏规则获得判定。
每次输出后请务必换行并刷新输出,否则会收到 判定。刷新输出的方法如下:
- C 语言使用 ;
- C++ 使用 、 或 ;
- Java 和 Kotlin 使用 ;
- Python 使用 。
5 14
3 7 2 3 10
-
4 10
4 1 6 4
-
提示
在第一个样例中,可以证明 Alessia 能完成她的目标。以下是一次交互示例(读入输入后):
$$\begin{array}{|c|c|c|} \hline \textbf{选手} & \textbf{评测器} & \textbf{说明} \\ \hline \texttt{Alessia} & & \text{程序将扮演 Alessia} \\ \hline 3 \quad 11 & & \text{选择 $y = 3$,$a = 11$} \\ \hline & 13 & \text{评测器选择 $b = 13$} \\ \hline 10 \quad 2 & & \text{选择 $y = 10$,$a = 2$} \\ \hline & 9 & \text{评测器选择 $b = 9$} \\ \hline 7 \quad 1 & & \text{选择 $y = 7$,$a = 1$} \\ \hline & 4 & \text{评测器选择 $b = 4$} \\ \hline 2 \quad 10 & & \text{选择 $y = 2$,$a = 10$} \\ \hline & 10 & \text{评测器选择 $b = 10$} \\ \hline 3 \quad 6 & & \text{选择 $y = 3$,$a = 6$} \\ \hline & 7 & \text{评测器选择 $b = 7$} \\ \hline \end{array}$$选手的程序获胜,因为 Bernardo 选择的所有书籍主题都不同。上述交互中的操作可能不是最优的。
在第二个样例中,可以证明 Bernardo 能完成他的目标。以下是一次交互示例(读入输入后):
$$\begin{array}{|c|c|c|} \hline \textbf{选手} & \textbf{评测器} & \textbf{说明} \\ \hline \texttt{Bernardo} & & \text{程序将扮演 Bernardo} \\ \hline & 4 \quad 1 & \text{评测器选择 $y = 4$,$a = 1$} \\ \hline 4 & & \text{选择 $b = 4$} \\ \hline & 1 \quad 10 & \text{评测器选择 $y = 1$,$a = 10$} \\ \hline 10 & & \text{选择 $b = 10$} \\ \hline & 6 \quad 3 & \text{评测器选择 $y = 6$,$a = 3$} \\ \hline 4 & & \text{选择 $b = 4$} \\ \hline & 4 \quad 5 & \text{评测器选择 $y = 4$,$a = 5$} \\ \hline 8 & & \text{选择 $b = 8$} \\ \hline \end{array}$$选手的程序获胜,因为 Bernardo 选择了两本主题编号为 的书。上述交互中的操作可能不是最优的。
由 ChatGPT 4.1 翻译
京公网安备 11011102002149号