var a:array[0..1000,0..1000] of longint; res:array[0..1000000] of longint; x,m,n,i,j,d:longint; procedure nhap; var i,j:longint; begin readln(m,n); for i:=1 to m do for j:=1 to n do read(a[i,j]); end; function dt(x,y:longint):longint; var i,j:longint; begin i:=1; while a[x+i,y]=1 do inc(i); j:=1; while a[x,y+j]=1 do inc(j); exit(i*j); end; procedure tinh_cac_hinh; var i,j:longint; begin d:=0; for i:=1 to m do for j:=1 to n do if (a[i,j]=1) and (a[i-1,j]=0) and (a[i,j-1]=0) then begin x:=dt(i,j); inc(d); res[d]:=x; end; end; procedure sort; var i,j,t:longint; begin for i:=1 to d-1 do for j:=1 to d-i do if res[j]>res[j+1] then begin t:=res[j]; res[j]:=res[j+1]; res[j+1]:=t; end; for i:=1 to d do writeln(res[i]); end; begin assign(input,'pv.inp');reset(input); assign(output,'pv.out');rewrite(output); nhap; tinh_cach_hinh; sort; end.
* Chuyên dạy lập trình ONLINE cho học sinh THCS, THPT *.
Mọi giao lưu, trao đổi, xin liên hệ: Lê Quang Vinh - zalo: 037.803.8755.
Page: Lớp học Code Sky
Group FB1: Ôn thi HSG9 - THTB - TS10 chuyên tin
Group FB2: Học Scratch - Ôn thi Tin học trẻ bảng A
Thứ Năm, 19 tháng 5, 2022
pv pascal
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.