MCITYHAL - Repair City Hall
Tác giả: RR
Ngôn ngữ: Pascal
{$R+,Q+}
{$Mode objFPC}
uses math;
const
FINP='';
FOUT='';
MAXN=222;
var
m,n:longint;
a:array[-1..MAXN,-1..MAXN] of char;
d:array[-1..MAXN,-1..MAXN] of longint;
count:array[1..MAXN] of longint;
f1,f2:text;
procedure openF;
begin
assign(f1,FINP); reset(f1);
assign(f2,FOUT); rewrite(f2);
end;
procedure closeF;
begin
close(f1);
close(f2);
end;
procedure inp;
var
i,j:longint;
begin
readln(f1,m,n);
for i:=1 to m do
begin
for j:=1 to n do read(f1,a[i,j]);
readln(f1);
end;
for j:=1 to n do
a[m+1,j]:='1';
end;
procedure solve;
var
i,j:longint;
begin
for i:=1 to m do
for j:=1 to n do
if a[i,j]='0' then d[i,j]:=d[i-1,j]+1;
for i:=1 to m do
for j:=1 to n do
if (a[i,j]='0') and (a[i+1,j]='1') then inc(count[d[i,j]]);
end;
procedure ans;
var
i:longint;
begin
for i:=1 to m do
if count[i]>0 then
writeln(f2,i,' ',count[i]);
end;
begin
openF;
inp;
solve;
ans;
closeF;
end.