Ví dụ: Khu dân cư với 3*3 lô đất được quy hoạch xây dựng các toà nhà cao tầng như sau:
2 3 2
2 3 2
2 3 2
Kết quả: Lượng sơn cần dùng là 41. Trong bảng dưới đây minh hoạ lượng sơn tương ứng cho mỗi toà nhà của khu nhà trên:
5 6 5
3 3 3
5 6 5
Dữ liệu vào: Lưu trong tập tin sonnha.inp:
- Dòng đầu tiên chứa số nguyên n
- N dòng tiếp theo chứa ma trận n*n trong đó ai,j là độ cao của toà nhà được xây trên lô đất thứ (i,j)
Dữ liệu xuất:
Xuất ra tập tin sonnha.out chứa 1 số duy nhất là số lượng sơn cần dùng để sơn toàn bộ toà nhà trong khu dân cư.
Uses crt;
Trả lờiXóaVar n,i,j,total:longint;
f:array [0..101,0..101] of longint;
function test(a,b:longint):longint;
Begin
If a>b then exit(a-b) else exit(0);
end;
Begin
readln(n);
fillchar(f,sizeof(f),0);
For i:=1 to n do
For j:=1 to n do
readln(f[i,j]);
total:=total+sqr(n);
For i:=1 to n do
For j:=1 to n do
total:=total+test(f[i,j],f[i-1,j])+test(f[i,j],f[i,j-1])+test(f[i,j],f[i+1,j])+test(f[i,j],f[i,j+1]);
Write(total);
readln;
end.