16. 前缀码判定
成绩 | 10 | 开启时间 | 2014年11月23日 Sunday 15:40 |
折扣 | 0.8 | 折扣时间 | 2014年12月7日 Sunday 23:55 |
允许迟交 | 否 | 关闭时间 | 2014年12月14日 Sunday 23:55 |
前缀码:任何一个字符的编码都不是同一字符集中另一个字符的编码的前缀。
请编写一个程序,判断输入的
n
个由
1
和
0
组成的编码是否为前缀码。如果这
n
个编码是前缀码,则输出”
YES
”;否则输出第一个与前面编码发生矛盾的编码。
输入:
第
1
行为
n
(表示下面有
n
行编码)
第
2
~
n+1
行为
n
个由
0
或
1
组成的编码
输出:判断结果
例如,如果输入:
5
00
01
10
110
111
每一个字符均不是其他字符编码的前缀,所以,输出:
YES
再如,如果输入:
5
00
01
10
110
11
编码11与前面的编码110的前缀,所以,输出: