MCITYHAL - Repair City Hall
Tác giả: khuc_tuan
Ngôn ngữ: Pascal
// {$APPTYPE CONSOLE}
{$mode delphi}
var
i, j, cur, len, m, n : integer;
a : array[0..222,0..222] of char;
count : array[0..222] of integer;
begin
readln(m,n);
for i:=0 to m-1 do
readln(a[i]);
for j:=0 to n-1 do
begin
cur := -1;
for i:=0 to m-1 do
begin
if (a[i,j]='0') and ((i=0) or (a[i-1,j]='1')) then cur := i;
if (a[i,j]='1') and (cur<>-1) then
begin
len := i - cur;
inc(count[len]);
cur := -1;
end;
end;
if cur<>-1 then inc(count[m-cur]);
end;
for i:=1 to m do if count[i] > 0 then writeln(i, #32, count[i]);
end.