PID642 / 文件压缩
题目描述

LazyChild发现fdu有海量的内网资源,相比之下他硬盘的容量捉襟见肘。于是LazyChild最近研究起了文件压缩的技术。

他提出了这样一个方法:

如果将原数据中连续n个1替换成n的二进制形式的时候会使得位数变少,那么就替换。例如,把11111111001001111111111111110011按照这种方法压缩后就得到了10000010011110011。原数据有32位,而压缩后只有17位。

然而这并不是一个完美的方法,因为有的时候可以用不止一种方法来解压,这会导致解压后无法得到原数据。

现在你已经知道原数据的长度L和其中1的个数N,请你帮LazyChild计算能否解压。保证原数据不超过16Kbytes并且压缩后的数据不超过40位。

输入格式

有多组测试数据,每组测试数据:

第一行两个正整数L,N。

第二行一个字符串表示压缩后的数据。

最后一组测试数据后紧跟一行仅含两个零。

输出格式

对于每组数据,一行一个字符串。

若能解压输出“YES”,若不能解压输出“NO”,若能用多种方法解压输出“NOTUNIQUE”。不含引号。

样例输入
样例输出
提交题目 Error [ 更改语言 ] Language
C C++ Pascal Python2
相关讨论
查看更多讨论
发布新讨论 讨论