Cod sursa(job #710295)

Utilizator vladvaldezVlad Dimulescu vladvaldez Data 9 martie 2012 13:17:25
Problema Reuniune Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.43 kb
type drept=record
   x,y,x1,y1:int64;
   end;

var i,j:longint;
    v,c:array[1..3]of drept;
    aa,pp,x,y,x1,y1,ppp,aaa,a,p:int64;


procedure intersectie;
var max,min,min1,max1:int64;
begin
max:=0;
max1:=0;
min:=1000000002;
min1:=10000000002;
if x>max then max:=x;
if v[i].x>max then max:=v[i].x;
c[i].x:=max;
if y>max1 then max1:=y;
if v[i].y>max1 then max1:=v[i].y;
c[i].y:=max1;
if x1<min then min:=x1;
if v[i].x1<min then min:=v[i].x1;
c[i].x1:=min;
if y1<min1 then min1:=y1;
if v[i].y1<min1 then min1:=v[i].y1;
c[i].y1:=min1;
if (c[i].x>c[i].x1)or (c[i].y>c[i].y1) then
begin
c[i].x:=0;
c[i].x1:=0;
c[i].y:=0;
c[i].y1:=0;
end;
end;







begin
assign(input,'reuniune.in');reset(input);
assign(output,'reuniune.out');rewrite(output);
for i:=1 to 3 do begin
read(v[i].x,v[i].y,v[i].x1,v[i].y1);
p:=2*(abs(v[i].x1-v[i].x)+abs(v[i].y1-v[i].y));
a:=abs(v[i].x1-v[i].x)*abs(v[i].y1-v[i].y);
aa:=aa+a;
pp:=pp+p;
end;
for i:=1 to 2 do  begin
for j:=i+1 to 3 do begin
x:=v[j].x;
y:=v[j].y;
x1:=v[j].x1;
y1:=v[j].y1;
intersectie;
aaa:=abs(c[i].x1-c[i].x)*abs(c[i].y1-c[i].y);
ppp:=2*(abs(c[i].x1-c[i].x)+abs(c[i].y1-c[i].y));
aa:=aa-aaa;
pp:=pp-ppp;
end;
end;
j:=1;
x:=c[j].x;
y:=c[j].y;
x1:=c[j].x1;
y1:=c[j].y1;
i:=2;
intersectie;
aaa:=abs(c[i].x1-c[i].x)*abs(c[i].y1-c[i].y);
ppp:=2*(abs(c[i].x1-c[i].x)+abs(c[i].y1-c[i].y));
aa:=aa+aaa;
pp:=pp+ppp;
write(aa,' ',pp);
close(output);
end.