AT_agc072_d.[AGC072D] Magician

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

这是一个交互式问题。

桌面上有 (2NN)\binom{2N}{N} 张卡片,编号为 11 到 (2NN)\binom{2N}{N}。第 ii 张卡片的正面印有由 NN 个 0 和 NN 个 1 组成的、按字典序第 ii 小的长度为 2N2N 的字符串,共有 (2NN)\binom{2N}{N} 种不同的字符串。

具体例子:例如当 N=2N=2 时,卡片 1,2,3,4,5,61, 2, 3, 4, 5, 6 的正面分别印有 0011、0101、0110、1001、1010、1100。

魔女 Alice 会在每张卡片的背面写上前 NN 个大写英文字母中的某一个(例如 N=2N=2 时为 A、B),然后进行如下的 魔法 操作共 TT 次。

一次魔法的流程

  1. 主持人宣布前 NN 个大写英文字母中的某一个字母 ss。
  2. 主持人在黑板上写下一个全为 0 的长度为 2N2N 的字符串。
  3. 依次进行 i=1,2,…,Ni=1,2,\dots,N 的如下操作。这里 a1,b1,…,aN,bNa_1, b_1, \dots, a_N, b_N 是 11 到 2N2N 之间互不相同的整数。
    • 首先,主持人将整数 aia_i 和 bib_i 告诉 Alice。
    • 然后,Alice 需要将黑板字符串的第 aia_i 或第 bib_i 个字符中的一个改为 1(只能改一个)。
  4. 此时黑板上的字符串为 xx。正面印有 xx 的卡片恰好有一张,查看其背面。如果背面的字母是 ss,则本次魔法成功,否则失败。

注意,Alice 在决定将 aia_i 或 bib_i 位置改为 1 之前,并不知道后续 ai+1,bi+1a_{i+1}, b_{i+1} 的信息。

请实现一种策略,使得 TT 次魔法全部成功。现在,开始吧。

输入格式

首先,从标准输入读取两个整数 N,TN, T,格式如下:

NN TT

接下来,输出每张卡片背面要写的字母 cic_i,格式如下,末尾需换行。这里 cic_i 必须是前 NN 个大写英文字母之一。

c1 c2 ⋯ c2NCNc_1\ c_2\ \cdots\ c_{{}_{2N}\mathrm{C}_N}

然后,以下过程重复 TT 次。第 tt 次(1≤t≤T1 \leq t \leq T)对应第 tt 次魔法。

首先,从标准输入读取主持人宣布的字母 ss,格式如下:

ss

接着,依次进行 i=1,2,…,Ni=1,2,\dots,N 的如下操作。

  • 首先,输入两个整数 ai,bia_i, b_i,格式如下:

aia_i bib_i

  • 然后,输出要改为 1 的位置 dd,格式如下。dd 必须为 aia_i 或 bib_i 之一,末尾需换行。

dd

如果输出格式有误,或上一次魔法失败,之后不会再输入 ss 或 (ai,bi)(a_i, b_i),而是输入 −1-1。此时应立即终止程序。(如果是在第 TT 次魔法首次失败,或第 TT 次魔法的 i=Ni=N 时首次输出格式有误,则之后不会再有任何输入)

输出格式

见上文输入格式说明。

说明/提示

限制条件

  • 2≤N≤102 \leq N \leq 10
  • 1≤T≤5 0001 \leq T \leq 5\,000
  • ss 是前 NN 个大写英文字母之一
  • 1≤ai<bi≤2N1 \leq a_i < b_i \leq 2N
  • a1,b1,a2,b2,…,aN,bNa_1, b_1, a_2, b_2, \dots, a_N, b_N 互不相同
  • a1,b1,a2,b2,…,aN,bN,sa_1, b_1, a_2, b_2, \dots, a_N, b_N, s 在与评测机交互前已确定
  • N,T,ai,biN, T, a_i, b_i 均为整数

注意事项

每次输出后都要刷新输出流。 否则可能会因未及时输出而被判定为 TLE。

此外,如果从输入读到 -1,应立即终止程序。此时评测结果为 WA,但如果不终止,评测结果将不可预期。请注意,额外的换行也可能被视为输出格式错误。

本题的评测系统是非自适应的(non-adaptive)。即 a1,b1,a2,b2,…,aN,bN,sa_1, b_1, a_2, b_2, \dots, a_N, b_N, s 的值在与评测机交互前已确定,不会因你的输出而改变。

输入输出样例

以下示例仅为交互过程的一个例子。

输入 输出 说明
2 2 首先输入整数 NN 和 TT。
ABABAB 输出 66 张卡片背面的字母。
A 第 11 次魔法开始。主持人宣布字母 A。
1 2 (a1,b1)=(1,2)(a_1, b_1) = (1, 2)。
2 将第 22 位改为 1。
3 4 (a2,b2)=(3,4)(a_2, b_2) = (3, 4)。
3 将第 33 位改为 1。最终黑板字符串为 0110,正面为 0110 的卡片背面是 A,魔法成功。
B 第 22 次魔法开始。主持人宣布字母 B。
1 3 (a1,b1)=(1,3)(a_1, b_1) = (1, 3)。
1 将第 11 位改为 1。
2 4 (a2,b2)=(2,4)(a_2, b_2) = (2, 4)。
2 将第 22 位改为 1。最终黑板字符串为 1100,正面为 1100 的卡片背面是 B,魔法成功。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页