P6965 [NEERC 2016] Binary Code
题目描述
给定 `n` 个01串,每个字符串至多有一位是未知的,可以填 `0` 或 `1` ,求是否存在一种方案,使得任意一个字符串不是其它任意一个字符串的前缀
输入格式
第一行是一个正整数 `n` ,代表字符串的数量。 $(1 \leq n \leq 5 \cdot 10^5)$
接下来 `n` 行每行一个字符串,只可能由 `0` 、 `1` 或 `?` 组成。 `?` 代表未知的位置,每个字符串最多一个。
保证字符串总长度不超过 $5 \cdot 10^5$ 。
输出格式
如果无解,只需要输出 `NO` 。
如果有解,在第一行输出 `YES` ,接下来 `n` 行输出方案。
如果有多组解,只需要输出任意一组。
说明/提示
Time limit: 2 s, Memory limit: 2048 MB.