Cod sursa(job #2949838)

Utilizator cornel...ganea corneliu cornel... Data 1 decembrie 2022 20:54:22
Problema Trapez Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.96 kb
uses crt;
type
  m=record
   x,y:integer;
  end;
var
 h,g:text;
 i,n,j,k,l,u:integer;
 a:array[1..100] of m;
 function f(x1,y1,x2,y2:integer):real;
  var s:boolean;
  begin
    s:=false;
    if (y2=y1) or (x2=x1) then f:=0 else
     f:=(y2-y1)/(x2-x1);
  end;
  function up(x11,y11,x12,y12,x21,y21,x22,y22:integer):boolean;
   begin
    if ((f(x11,y11,x12,y12)=f(x21,y21,x22,y22)) and (f(x12,y12,x22,y22)<>f(x11,y11,x21,y21)))
     or ((f(x11,y11,x12,y12)<>f(x21,y21,x22,y22)) and (f(x12,y12,x22,y22)=f(x11,y11,x21,y21)))
    then up:=true else up:=false;
   end;
begin
 assign(h,'trapez.in'); reset(h);
 assign(g,'trapez.out'); rewrite(g);
 readln(h, n);
 for i:=1 to n do begin
  read(h, a[i].x,a[i].y);
  readln(h);
 end;
 for i:=1 to n do
  for j:=i+1 to n do
   for k:=j+1 to n do
    for l:=k+1 to n do
     if up(a[i].x,a[i].y,a[j].x,a[j].y,a[k].x,a[k].y,a[l].x,a[l].y)=true then u:=u+1;
 writeln(g,u);
 close(h);
 close(g);
end.