AT_icpc2014autumn_b Unknown Switches
题目描述
在国际插头与连接器公司(ICPC)总部大楼里,有 $M$ 个灯泡和 $N$ 个开关。每个灯泡只能由一个开关控制,而每个开关可以同时控制多个灯泡。当一个开关被操作时,它控制的所有灯泡都会改变状态。现在,你已经丢失了记录这些开关和灯泡对应关系的表格,需要去恢复它。
恢复的过程如下:
1. 开始时,所有的开关和灯泡都是关闭状态。
2. 依次进行以下操作:
- 使用 $S_1$ 表示操作某些开关;
- 检查灯泡状态,用 $B_1$ 表示。
- 使用 $S_2$ 操作下一组开关;
- 再次检查灯泡状态,用 $B_2$ 表示。
- ...
- 使用 $S_Q$ 执行最后一组开关操作;
- 最后检查灯泡状态,用 $B_Q$ 表示。
每次操作之后,开关和灯泡的状态都会保留下来,供下次操作使用。
你能通过提供的开关和灯泡状态信息,恢复出每个灯泡对应的开关吗?
输入格式
输入包括多个数据集。数据集的数量不超过 $50$,文件大小不超过 $10\mathrm{MB}$。每组数据格式如下:
```
N M Q
S_1 B_1
:
:
S_Q B_Q
```
每组数据的第一行包含三个整数 $N$、$M$ 和 $Q$,分别表示开关数量($1 \le N \le 36$)、灯泡数量($1 \le M \le 1{,}000$)和操作次数($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$ 个灯泡,则输出 '?' 代替开关编号。
**本翻译由 AI 自动生成**