Известный художник решил написать новый шедевр. После многих дней усердной работы он захотел исследовать свое творение. Художник вспомнил, что картина писалась следующим образом: сначала был взят белый холст, имеющий форму прямоугольника шириной w и высотой h. Затем художник нарисовал на этом холсте n прямоугольников со сторонами, параллельными сторонам холста и вершинами, расположенными в целочисленных координатах. Помогите художнику определить площадь незакрашенной части холста.
Входные данные
Первая строка входного файла INPUT.TXT содержит два натуральных числа w и h (1 ≤ w, h ≤ 100). Во второй строке записано целое число n (0 ≤ n ≤ 5000) – количество прямоугольников. Следующие n строк содержат информацию о всех прямоугольниках. Каждая строка описывает один прямоугольник в виде четырех чисел x1, y1, x2, y2 , где (x1, y1) и (x2, y2) – координаты левого верхнего и правого нижнего угла прямоугольника соответственно.
Выходные данные
Выведите в выходной файл OUTPUT.TXT одно целое число – площадь незакрашенной части холста.
Примеры
Решение
Входные данные
Первая строка входного файла INPUT.TXT содержит два натуральных числа w и h (1 ≤ w, h ≤ 100). Во второй строке записано целое число n (0 ≤ n ≤ 5000) – количество прямоугольников. Следующие n строк содержат информацию о всех прямоугольниках. Каждая строка описывает один прямоугольник в виде четырех чисел x1, y1, x2, y2 , где (x1, y1) и (x2, y2) – координаты левого верхнего и правого нижнего угла прямоугольника соответственно.
Выходные данные
Выведите в выходной файл OUTPUT.TXT одно целое число – площадь незакрашенной части холста.
Примеры
№
|
INPUT.TXT
|
OUTPUT.TXT
|
1
|
5 5
2 1 1 3 3 2 2 4 4 |
18
|
2
|
6 7
3 0 0 5 5 1 1 4 4 2 2 3 3 |
17
|
var i,j,n,m,k,l,b,c,d,e:integer;
a:array[1..100,1..100] of integer;
f,f1:text;
begin
assign(f,'input.txt');
reset(f);
assign(f1,'output.txt');
rewrite(f1);
readln(f,n,m);
for i:=1 to n do
for j:=1 to m do
a[i,j]:=1;
readln(f,k);
for l:=1 to k do
begin
readln(f,c,b,d,e);
for i:=c+1 to d do
for j:=b+1 to e do
a[i,j]:=0;
end;
k:=0;
for i:=1 to n do
for j:=1 to m do
k:=k+a[i,j];
write(f1,k);
close(f);
close(f1);
end.
a:array[1..100,1..100] of integer;
f,f1:text;
begin
assign(f,'input.txt');
reset(f);
assign(f1,'output.txt');
rewrite(f1);
readln(f,n,m);
for i:=1 to n do
for j:=1 to m do
a[i,j]:=1;
readln(f,k);
for l:=1 to k do
begin
readln(f,c,b,d,e);
for i:=c+1 to d do
for j:=b+1 to e do
a[i,j]:=0;
end;
k:=0;
for i:=1 to n do
for j:=1 to m do
k:=k+a[i,j];
write(f1,k);
close(f);
close(f1);
end.
Комментариев нет:
Отправить комментарий