Pagini recente » Cod sursa (job #232907) | Cod sursa (job #3148088) | Cod sursa (job #149454) | Cod sursa (job #1201002) | Cod sursa (job #575278)
Cod sursa(job #575278)
type dreptunghi=record x1,x2,y1,y2:longint; end;
var a:array[1..7] of dreptunghi;
i:integer;
per,ar:longint;
procedure inter(i,j,k:integer);
begin
if (a[i].x1>a[j].x2) and (a[i].x1<a[j].x1) then
begin
if a[i].x2<a[j].x2 then
begin
a[k].x1:=a[i].x1;
a[k].x2:=a[j].x2;
end
else if a[i].x1>a[j].x1 then
begin
a[k].x2:=a[i].x1;
a[k].x1:=a[j].x1;
end
else a[k]:=a[i];
end else
if (a[j].x1>a[i].x2) and (a[j].x1<a[i].x1) then
begin
if a[j].x2<a[i].x2 then
begin
a[k].x1:=a[j].x1;
a[k].x2:=a[i].x2;
end
else if a[i].x1>a[j].x1 then
begin
a[k].x2:=a[j].x1;
a[k].x1:=a[i].x1;
end
else a[k]:=a[j];
if (a[i].y1>a[j].y2) and (a[i].y1<a[j].y1) then
begin
if a[i].y2<a[j].y2 then
begin
a[k].y1:=a[i].y1;
a[k].y2:=a[j].y2;
end
else if a[i].x1>a[j].x1 then
begin
a[k].y2:=a[i].y1;
a[k].y1:=a[j].y1;
end
else a[k]:=a[i];
end else
if (a[j].y1>a[i].y2) and (a[j].y1<a[i].y1) then
begin
if a[j].y2<a[i].y2 then
begin
a[k].y1:=a[j].y1;
a[k].y2:=a[i].y2;
end
else if a[i].y1>a[j].y1 then
begin
a[k].y2:=a[j].y1;
a[k].y1:=a[i].y1;
end
else a[k]:=a[j];
end;
end
else a[k].x1:=0;a[k].x2:=0;a[k].y1:=0;a[k].y2:=0;
end;
function aria(i:integer):longint;
begin
aria:=abs((a[i].x1-a[i].x2)*(a[i].y1-a[i].y2));
end;
function perim(i:integer):longint;
begin
perim:=2*abs(a[i].x1-a[i].x2)+2*abs(a[i].y1-a[i].y2);
end;
begin
assign(input,'reuniune.in');reset(input);
assign(output,'reuniune.out');rewrite(output);
for i:=1 to 3 do
begin
readln(a[i].x1,a[i].y1,a[i].x2,a[i].y2);
ar:=ar+aria(i);
per:=per+perim(i);
end;
inter(1,2,4);
inter(2,3,5);
inter(1,3,6);
for i:=4 to 6 do
begin
ar:=ar-aria(i);
per:=per-perim(i);
end;
inter(3,4,7);
ar:=ar+aria(7);
per:=per+perim(7);
writeln(ar,' ',per);
end.