Advertisement
Guest User

Untitled

a guest
Nov 19th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.20 KB | None | 0 0
  1. var
  2.    x1, y1, x2, y2, x3, y3, x4, y4, xll, ll, l2, xr, r1, r2, up, u1, u2, o1, o2, o: integer;
  3. begin
  4.  
  5.    readln(x1, y1, x2, y2, x3, y3, x4, y4);
  6.    if (x1 < x2) then
  7.       ll := x1
  8.    else
  9.       ll :=x2;
  10.    if (x3 < x4) then
  11.       l2 := x3
  12.    else
  13.       l2 :=  x4;
  14.    if (ll < l2) then
  15.       xll := l2
  16.    else
  17.       xll := ll; //xleft = max(min(x1,x2),min(x3,x4))
  18.    if (x1 > x2) then
  19.       r1 := x1
  20.    else
  21.       r1 := x2;
  22.    if (x3 > x4) then
  23.       r2 := x3
  24.    else
  25.       r2 := x4;
  26.    if (r1 > r2) then
  27.       xr := r2
  28.    else
  29.       xr := r1; //xright = min(max(x1, x2), max(x3, x4))
  30.    if (y1 > y2) then
  31.       u1 := y1
  32.    else
  33.       u1 := y2;
  34.    if (y3 > y4) then
  35.       u2 := y3
  36.    else
  37.       u2 := y4;
  38.    if (u1 > u2) then
  39.       up := u2
  40.    else
  41.       up := u1; //yup = min(max(y1, y2), max(y3, y4))
  42.    if (x1 < x2) then
  43.       o1 := x1
  44.    else
  45.       o1 := x2;
  46.    if (x3 < x4) then
  47.       o2 := x3
  48.    else
  49.       o2 := x4;
  50.    if (o1 < o2) then
  51.       o := o2
  52.    else
  53.       o := o1; //ydown =max(min(y1,y2),min(y3,y4))
  54.    if (((xll > xr) or (up < o)) or ((xll > xr) and (up < o))) then
  55.       writeln('0')
  56.    else
  57.       writeln((xr - xll) * (up - o));
  58.       readln;
  59. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement