Cod sursa(job #329658)

Utilizator andrey932Andrei andrey932 Data 7 iulie 2009 01:33:15
Problema Reuniune Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.81 kb
uses math;
var t:text;
    x0,y0,x1,y1:array[1..3] of extended;
    ix1,ix2,iy1,iy2:extended;
    i,j:longint;
    p,a:extended;

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

      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.