Pagini recente » Cod sursa (job #2041609) | Cod sursa (job #3179963) | Cod sursa (job #1578919) | Clasament jn | Cod sursa (job #329656)
Cod sursa(job #329656)
uses math;
var t:text;
x0,y0,x1,y1:array[1..3] of longint;
i,j,ix1,ix2,iy1,iy2:longint;
p,a:int64;
begin
assign(t,'reuniune.in'); reset(t);
for i:=1 to 3 do
readln(t,x0[i],y0[i],x1[i],y1[i]);
p:=( maxvalue(x1)-minvalue(x0) + maxvalue(y1)-minvalue(y0) )*2;
a:=0;
for i:=1 to 3 do
a:=a+(x1[i]-x0[i])*(y1[i]-y0[i]);
for i:=1 to 2 do
for j:=i+1 to 3 do
begin
{ if ((x0[j]<x1[i]) and (y0[j]<y1[i]) and (x0[j]>=x0[i]) and (y0[j]>=y0[i]) ) then
a:=a - (minvalue(x1[j]-x0[j],x1[i]-x0[j])*minvalue(y1[j]-y0[j],y1[i]-y0[j])
else if ( (x0[j]<=x0[i]) and (y0[j]<y1[i]) and (y0[j]>y0[i]) and () )
else if ( () and () and () and () )
else if ( () and () and () and () )
else if ( () and () and () and () )
}
ix1:=max(x0[j],x0[i]); ix2:=min(x1[j],x1[i]);
iy1:=max(y0[j],y0[i]); iy2:=min(y1[j],y1[i]);
if ((ix1<ix2) and (iy1<iy2)) then a:=a-(ix2-ix1)*(iy2-iy1);
end;
ix1:=maxvalue(x0); ix2:=minvalue(x1);
iy1:=maxvalue(y0); iy2:=minvalue(y1);
if ((ix1<ix2) and (iy1<iy2)) then a:=a+(ix2-ix1)*(iy2-iy1);
close(t);
assign(t,'reuniune.out'); rewrite(t);
writeln(t,a,' ',p);
close(t);
end.