QOJ.ac

QOJ

Limite de temps : 2.0 s Limite de mémoire : 256 MB Points totaux : 100 Interactif

#15517. 魔术师

Statistiques

这是一个交互式问题。

一位魔术师将与 $N = 20$ 个侏儒玩一个游戏。每个侏儒 $i$ 戴着一顶颜色为 $C_i$ ($1 \le C_i \le 5 \cdot 10^5$) 的帽子。每个侏儒都可以看到除自己以外所有其他侏儒的帽子颜色。游戏包含两个阶段:

  • 阶段 1:每个侏儒都有一张卡片。他们被允许在卡片上写上 $0$ 或 $1$。在写数字时,他们不能相互交流,即所有人都是同时且独立地写下数字。
  • 阶段 2:魔术师收集所有侏儒的卡片,并创建一个大小为 $N$ 的数组 $A$,其中 $A_i$ 是第 $i$ 个侏儒写下的数字(顺序保持不变)。现在,每个侏儒必须推断出自己帽子的颜色。所有人同时宣布他们的猜测。

为了防止作弊,交互将被分为两个阶段:

  • 在第一阶段,你将为每个侏儒指定他们在卡片上写下的数字,这些请求将以打乱的顺序呈现。
  • 类似地,第二阶段也将以随机顺序进行。详情请参阅交互格式部分。

交互格式

首先,你必须读取一行,包含一个整数 $T$ ($1 \le T \le 4 \cdot 10^4$),表示在所有测试中,侏儒被要求写下数字的总次数。

对于每个侏儒,你必须首先读取一行,包含 21 个空格分隔的整数:$i$ —— 被要求写下数字的侏儒的编号,以及 $C_1, C_2, \dots, C_{20}$ ($1 \le i \le 20$) —— 其他侏儒的帽子颜色。注意,始终有 $C_i = 0$(因为他们看不到自己的帽子)。

然后,你应该输出一行,包含一个整数,即第 $i$ 个侏儒在卡片上写下的值。

现在,第二阶段开始。首先,你必须读取一行,包含一个整数 $K$ ($1 \le K \le 4 \cdot 10^4$),表示在所有测试中,侏儒被要求推断其帽子颜色的总次数。然后是关于这 $K$ 个侏儒交互的描述:

对于每个侏儒,你必须首先读取一行,包含 21 个空格分隔的整数和一个由 20 个字符组成的字符串:$i, C_1, C_2, \dots, C_{20}, A$ ($1 \le i \le 20$)。侏儒 $i$ 将在某个测试中说出他帽子的颜色,该测试由其他侏儒帽子的颜色(由数组 $C$ 给出,与阶段 1 相同)唯一确定。注意,始终有 $C_i = 0$。字符串 $A$ 表示每个侏儒在卡片上写下的值。

然后,你应该输出一行,包含一个整数,即第 $i$ 个侏儒帽子的颜色。

在输出每行之后,不要忘记刷新输出。例如:

  • C/C++ 中的 fflush(stdout)std::cout << std::endl;
  • Java 中的 System.out.flush()
  • Python 中的 sys.stdout.flush()
  • Pascal 中的 flush(output)
  • 请参阅其他语言的文档。

样例

输入样例 1

20
1 0 2 3 4 ... 5 1 2 3 4 5
2 1 0 3 4 ... 5 1 2 3 4 5
3 1 2 0 4 ... 5 1 2 3 4 5
...
20
1 0 2 ... 4 5 00100000000000000000
2 1 0 ... 4 5 00100000000000000000
7 1 2 ... 4 5 00100000000000000000
...

输出样例 1

0
0
1
...
1
2
2
...

说明

样例中只有一个测试,其颜色配置如下: $C = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]$

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.