Pagini recente » Cod sursa (job #969997) | Cod sursa (job #1332740) | Cod sursa (job #3214897) | Cod sursa (job #2321811) | Cod sursa (job #30156)
Cod sursa(job #30156)
const eps=0.0001;
type punct=record
x,y:longint;
end;
var v:array[1..1000] of punct;
i,j,k,p,n,nr:integer;
f:text;
procedure citire;
begin
assign(f,'trapez.in');reset(f);
readln(f,n);
for i:=1 to n do readln(f,v[i].x,v[i].y);
close(f);
end;
function panta(a,b:punct):real;
begin
panta:=(b.y-a.y)/(b.x-a.x);
end;
function vert(a,b:punct):boolean;
begin
vert:=abs(a.x-b.x)<eps;
end;
function para(a,b,c,d:punct):boolean;
begin
if vert(a,b)or(vert(c,d)) then
if vert(a,b)and(vert(c,d)) then para:=true
else para:=false
else if abs(panta(a,b)-panta(c,d))<eps then para:=true
else para:=false;
end;
procedure caut;
begin
for i:=1 to n div 2 do
for j:=1 to n div 2 do
for k:=1 to n div 2 do
for p:=1 to n div 2 do
if(i<>j)and(j<>k)and(k<>p)and(i<>p) then
if para(v[i],v[j],v[k],v[p])or
para(v[i],v[p],v[j],v[k]) then nr:=nr+1;
end;
begin
citire;
caut;
assign(f,'trapez.out');rewrite(f);
writeln(f,nr div 2);
close(f);
end.