Pagini recente » Cod sursa (job #2282704) | Cod sursa (job #1071408) | Cod sursa (job #2759572) | Cod sursa (job #1613704) | Cod sursa (job #710296)
Cod sursa(job #710296)
type drept=record
x0,y0,x1,y1,a,a2,p,p2:int64;
end;
var pe:array[1..6] of int64;
v:array[1..3] of drept;
ix0,ix1,iy0,iy1,arf,x,y,ar,per,k:int64;
i:longint;
function min(a,b:int64):int64;
var mi:longint;
begin
mi:=maxlongint;
if a<b then mi:=a else mi:=b;
min:=mi;
end;
function max(a,b:longint):int64;
var mx:int64;
begin
if a>b then mx:=a else mx:=b;
max:=mx;
end;
procedure inte;
var a,p:int64;
begin
a:=abs(ix1-ix0)*abs(iy1-iy0);
p:=2*(abs(ix1-ix0)+abs(iy1-iy0))-4;
ar:=ar-a;
arf:=a;
per:=per-p;
end;
begin
assign(input,'reuniune.in');reset(input);
assign(output,'reuniune.out');rewrite(output);
for i:=1 to 3 do begin
read(v[i].x0,v[i].y0,v[i].x1,v[i].y1);
x:=abs(v[i].x1-v[i].x0);
y:=abs(v[i].y1-v[i].y0);
ar:=ar+x*y;
per:=per+2*(x+y);
end;
for i:=1 to 2 do begin
ix0:=max(v[i].x0,v[i+1].x0);
ix1:=min(v[i].x1,v[i+1].x1);
iy0:=max(v[i].y0,v[i+1].y0);
iy1:=min(v[i].y1,v[i+1].y1);
if (ix0>ix1)or(iy0>iy1) then begin
ix0:=0;
ix1:=0;
iy0:=0;
iy1:=0;
end else begin inte; end;
end;
i:=1;
ix0:=max(v[i].x0,v[i+2].x0);
ix1:=min(v[i].x1,v[i+2].x1);
iy0:=max(v[i].y0,v[i+2].y0);
iy1:=min(v[i].y1,v[i+2].y1);
if (ix0>ix1)or(iy0>iy1) then begin
ix0:=0;
ix1:=0;
iy0:=0;
iy1:=0;
end else inte;
ix0:=max(ix0,v[2].x0);
ix1:=min(ix1,v[2].x1);
iy0:=max(iy0,v[2].y0);
iy1:=min(iy1,v[2].y1);
if (ix0>ix1)or(iy0>iy1) then begin
ix0:=0;
ix1:=0;
iy0:=0;
iy1:=0;
end else inte;
write(ar+2*arf,' ',per);
close(output);
end.