QOJ.ac

QOJ

时间限制: 1 s 内存限制: 256 MB 总分: 100

#3405. 异或

统计

你并没有被直接给出 $n$ 个小于 $2^{20}$ 的非负整数 $X_0, X_1, \dots, X_{n-1}$,但它们确实存在,且它们的值永远不会改变。

我将逐渐提供一些关于它们的已知事实,并向你提出一些问题。

共有两种事实和一种问题:

格式 含义
I p v 我告诉你 $X_p = v$
I p q v 我告诉你 $X_p \oplus X_q = v$
Q k p1 p2 … pk 请告诉我 $X_{p_1} \oplus X_{p_2} \oplus \dots \oplus X_{p_k}$ 的值

输入格式

最多包含 10 组测试数据。每组数据以两个整数 $n$ 和 $Q$ 开头($1 \le n \le 20,000$,$2 \le Q \le 40,000$)。接下来的每一行包含一个事实或一个问题,格式如上所述。问题中的参数 $k$ 是一个不大于 15 的正整数,事实中的参数 $v$ 是一个小于 $2^{20}$ 的非负整数。最后一组数据后会有 $n=Q=0$,该行不应被处理。

输出格式

对于每组测试数据,首先在单独的一行中打印用例编号,然后逐行打印每个问题的答案。如果你无法根据该问题之前我提供的事实推导出答案,请打印 "I don't know."(不含引号)。如果第 $i$ 个事实(不计问题)与之前的所有事实不一致,请打印 "The first i facts are conflicting.",然后忽略该用例后续的所有内容(包括事实和问题)。在每组测试数据的输出之后打印一个空行。

样例

输入 1

2 6 
I 0 1 3 
Q 1 0 
Q 2 1 0 
I 0 2 
Q 1 1 
Q 1 0 
3 3 
I 0 1 6 
I 0 2 2 
Q 2 1 2 
2 4 
I 0 1 7 
Q 2 0 1 
I 0 1 8 
Q 2 0 1 
0 0

输出 1

Case 1: 
I don't know. 
3 
1 
2 
Case 2: 
4 
Case 3: 
7 
The first 2 facts are conflicting.

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.