#P6965. [NEERC 2016] Binary Code

    ID: 5990 远端评测题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>2016Special Judge图的建立,建图2-SAT字典树,Trie 树ACM_ICPC

[NEERC 2016] Binary Code

Description

给定 n 个01串,每个字符串至多有一位是未知的,可以填 01 ,求是否存在一种方案,使得任意一个字符串不是其它任意一个字符串的前缀

Input Format

第一行是一个正整数 n ,代表字符串的数量。 (1n5105)(1 \leq n \leq 5 \cdot 10^5)

接下来 n 行每行一个字符串,只可能由 01? 组成。 ? 代表未知的位置,每个字符串最多一个。

保证字符串总长度不超过 51055 \cdot 10^5

Output Format

如果无解,只需要输出 NO

如果有解,在第一行输出 YES ,接下来 n 行输出方案。

如果有多组解,只需要输出任意一组。

4
00?
0?00
?1
1?0

YES
000
0100
11
100

3
0100
01?0
01?0

NO