QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 512 MB 總分: 100

#8842. 未知开关

统计

在 ICPC(国际插头与连接器公司)总部大楼里,有 $M$ 个灯泡,由 $N$ 个开关控制。每个灯泡恰好由一个开关控制。每个开关可以控制多个灯泡。当你操作一个开关时,所有受该开关控制的灯泡都会改变其状态。你丢失了记录开关与灯泡之间对应关系的表格,并希望恢复它。

你决定通过以下步骤恢复该对应关系:

  • 起初,每个开关都处于关闭状态,每个灯泡也都处于关闭状态。
  • 你操作了一些开关,记为 $S_1$。
  • 你检查了灯泡的状态,记为 $B_1$。
  • 你操作了一些开关,记为 $S_2$。
  • 你检查了灯泡的状态,记为 $B_2$。
  • ...
  • 你操作了一些开关,记为 $S_Q$。
  • 你检查了灯泡的状态,记为 $B_Q$。

在你操作了一些开关并检查了灯泡状态后,开关和灯泡的状态会保持到下一次操作。

你能利用你操作的开关信息以及检查到的灯泡状态来恢复开关与灯泡之间的对应关系吗?

输入格式

输入包含多组数据。数据集的数量不超过 50,文件大小不超过 10MB。

每个数据集的第一行包含三个整数 $N$ ($1 \le N \le 36$),$M$ ($1 \le M \le 1,000$),$Q$ ($0 \le Q \le 1,000$),分别表示开关的数量、灯泡的数量和操作的次数。接下来的 $Q$ 行描述了你操作的开关信息和检查到的灯泡状态。其中第 $i$ 行包含两个长度分别为 $N$ 和 $M$ 的字符串 $S_i$ 和 $B_i$。$S_i$ 中的每个字符表示你操作的开关集合:$S_{ij}$ 为 0 或 1,分别表示第 $j$ 个开关未被操作或已被操作。$B_i$ 中的每个字符表示灯泡的状态:$B_{ij}$ 为 0 或 1,分别表示第 $j$ 个灯泡处于关闭或开启状态。

你可以假设存在一种与给定信息一致的开关与灯泡之间的对应关系。

输入的末尾由一行包含三个零的行表示。

输出格式

对于每个数据集,输出开关与灯泡之间的对应关系,由 $M$ 个 36 进制数字组成。在本题的 36 进制系统中,数值 0-9 和 10-35 分别由字符 ‘0’-‘9’ 和 ‘A’-‘Z’ 表示。对应关系的第 $i$ 个字符表示控制第 $i$ 个灯泡的开关编号。如果你无法确定哪个开关控制第 $i$ 个灯泡,则输出 ‘?’ 作为第 $i$ 个字符,而不是开关编号。

样例

输入 1

3 10 3
000 0000000000
110 0000001111
101 1111111100
2 2 0
1 1 0
2 1 1
01 1
11 11 10
10000000000 10000000000
11000000000 01000000000
01100000000 00100000000
00110000000 00010000000
00011000000 00001000000
00001100000 00000100000
00000110000 00000010000
00000011000 00000001000
00000001100 00000000100
00000000110 00000000010
0 0 0

输出 1

2222221100
??
0
1
0123456789A

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.