1503 市政厅的墙壁
Time Limit : 2000/1000 MS(Java/Others) | Memory Limit : 65536/32768 KB(Java/Others)
Submits : 0 | Solved : 0
Description
因为年久失修,某市政厅的一面墙遭到严重损坏。现使用一个M行N列的矩阵代表这面墙的砖块编码,其中1代表完整无缺的砖块,0代表被损坏的砖块。
如上图所示的一面墙壁(绿色块表示破损的墙壁),其矩阵形式如下:
1110000111
1100001111
1000000011
1111101111
1110000111
为了维修墙壁,工人将砖块竖直地插入损坏的区域,他们能用的砖块规格有宽度为1,高度为{1,2,…,M}的M种砖块。现在给你一幅市政厅的墙壁图,你的任务是决定需要多少块不同高度的砖块来修补损坏的区域,并且使用的块数最少。
Input
多组输入
每组 第一行包含两个整数值:M和N(1 <= M,N<=200)。接着输入一个M行N列的矩阵代表墙壁,矩阵元素只能是1或0。
Output
要求输出所使用砖块的高度和数量,使用如下格式分行显示: k Ck 其中k∈{ 1,2,….,M}代表砖块的高度,Ck代表需要的高度为K的砖块的数量,不用输出Ck=0的行,按照K的升序显示各行。
Sample Input
5 10 1110000111 1100001111 1000000011 1111101111 1110000111
Sample Output
1 7 2 1 3 2 5 1
HINT
Source
NBU OJ