Problem1598--进阶的01串

1598: 进阶的01串

[Creator : ]
Time Limit : 1 sec  Memory Limit : 128 MB

Description

计算机中的文件都是由一串01串组成的,我们可以通过某种方式压缩它。

我们可以用一个十进制数串(长度不超过1000),代表一个长度不超过8000的01串。例如十进制串15  1  128代表01串00001111  00000001  10000000。01串可以划分成连续的片段(即连续成段的0或1),如上例可划分成0000  1111 0000000  11  0000000五个片断。我们可以用一个字节(8位)的二进制表示一个片断,表示方法为:字节的最高位代表此片段的颜色是0还是1,低7位代表此片段的长度,所以上例就可以表示为:00000100  10000100  00000111  10000010  00000111。注意到现在有5个字节,每个字节可以用一个不超过255的十进制数表示,所以我们又可以把它表示成4  132  7  130  7。

我们再看看整个编码压缩过程:

15         1        128

00001111  00000001  10000000

0000      1111     0000000     11      0000000

00000100  10000100  00000111  10000010   00000111

   4        132         7        130        7

 

可以保证所有输入数据连续的0或1片段的长度均小于128。

Input

输入数据只有一行,第一个数N是一个可被8整除的不大于8000的自然数,代表编码的01串长度。接下来N/8个十进制整数。

Output

输出只有一行,输出最后的十进制压缩编码。

Sample Input Copy

24 15 1 128

Sample Output Copy

4 132 7 130 7

Source/Category

SCOJ