AT_agc072_d.[AGC072D] Magician
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
这是一个交互式问题。
桌面上有 (N2N) 张卡片,编号为 1 到 (N2N)。第 i 张卡片的正面印有由 N 个 0 和 N 个 1 组成的、按字典序第 i 小的长度为 2N 的字符串,共有 (N2N) 种不同的字符串。
具体例子:例如当 N=2 时,卡片 1,2,3,4,5,6 的正面分别印有 0011、0101、0110、1001、1010、1100。
魔女 Alice 会在每张卡片的背面写上前 N 个大写英文字母中的某一个(例如 N=2 时为 A、B),然后进行如下的 魔法 操作共 T 次。
一次魔法的流程
- 主持人宣布前 N 个大写英文字母中的某一个字母 s。
- 主持人在黑板上写下一个全为
0的长度为 2N 的字符串。- 依次进行 i=1,2,…,N 的如下操作。这里 a1,b1,…,aN,bN 是 1 到 2N 之间互不相同的整数。
- 首先,主持人将整数 ai 和 bi 告诉 Alice。
- 然后,Alice 需要将黑板字符串的第 ai 或第 bi 个字符中的一个改为
1(只能改一个)。- 此时黑板上的字符串为 x。正面印有 x 的卡片恰好有一张,查看其背面。如果背面的字母是 s,则本次魔法成功,否则失败。
注意,Alice 在决定将 ai 或 bi 位置改为 1 之前,并不知道后续 ai+1,bi+1 的信息。
请实现一种策略,使得 T 次魔法全部成功。现在,开始吧。
输入格式
首先,从标准输入读取两个整数 N,T,格式如下:
N T
接下来,输出每张卡片背面要写的字母 ci,格式如下,末尾需换行。这里 ci 必须是前 N 个大写英文字母之一。
c1 c2 ⋯ c2NCN
然后,以下过程重复 T 次。第 t 次(1≤t≤T)对应第 t 次魔法。
首先,从标准输入读取主持人宣布的字母 s,格式如下:
s
接着,依次进行 i=1,2,…,N 的如下操作。
- 首先,输入两个整数 ai,bi,格式如下:
ai bi
- 然后,输出要改为
1的位置 d,格式如下。d 必须为 ai 或 bi 之一,末尾需换行。d
如果输出格式有误,或上一次魔法失败,之后不会再输入 s 或 (ai,bi),而是输入 −1。此时应立即终止程序。(如果是在第 T 次魔法首次失败,或第 T 次魔法的 i=N 时首次输出格式有误,则之后不会再有任何输入)
输出格式
见上文输入格式说明。
说明/提示
限制条件
- 2≤N≤10
- 1≤T≤5000
- s 是前 N 个大写英文字母之一
- 1≤ai<bi≤2N
- a1,b1,a2,b2,…,aN,bN 互不相同
- a1,b1,a2,b2,…,aN,bN,s 在与评测机交互前已确定
- N,T,ai,bi 均为整数
注意事项
每次输出后都要刷新输出流。 否则可能会因未及时输出而被判定为 TLE。
此外,如果从输入读到 -1,应立即终止程序。此时评测结果为 WA,但如果不终止,评测结果将不可预期。请注意,额外的换行也可能被视为输出格式错误。
本题的评测系统是非自适应的(non-adaptive)。即 a1,b1,a2,b2,…,aN,bN,s 的值在与评测机交互前已确定,不会因你的输出而改变。
输入输出样例
以下示例仅为交互过程的一个例子。
| 输入 | 输出 | 说明 |
|---|---|---|
2 2 |
首先输入整数 N 和 T。 | |
ABABAB |
输出 6 张卡片背面的字母。 | |
A |
第 1 次魔法开始。主持人宣布字母 A。 |
|
1 2 |
(a1,b1)=(1,2)。 | |
2 |
将第 2 位改为 1。 |
|
3 4 |
(a2,b2)=(3,4)。 | |
3 |
将第 3 位改为 1。最终黑板字符串为 0110,正面为 0110 的卡片背面是 A,魔法成功。 |
|
B |
第 2 次魔法开始。主持人宣布字母 B。 |
|
1 3 |
(a1,b1)=(1,3)。 | |
1 |
将第 1 位改为 1。 |
|
2 4 |
(a2,b2)=(2,4)。 | |
2 |
将第 2 位改为 1。最终黑板字符串为 1100,正面为 1100 的卡片背面是 B,魔法成功。 |
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?