Pagini recente » Cod sursa (job #2281739) | Cod sursa (job #277458) | Cod sursa (job #253723) | Cod sursa (job #2145999) | Cod sursa (job #237803)
Cod sursa(job #237803)
program alex;
var f:text;
a,b,c:array[1..1500]of extended;
i,n,k,j,v,d,x,z,m,h:longint;
q:extended;
e:boolean;
begin
assign(f,'triang.in');reset(f);
readln(f,n);
for i:=1 to n do
readln(f,a[i],b[i]);
close(f);
k:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
k:=k+1;
c[k]:=sqrt(sqr(a[i]-a[j])+sqr(b[i]-b[j]));
end;
v:=1;
e:=true;
while e=true do
begin
e:=false;
for i:=1 to k-v do
if c[i]>c[i+1] then begin
q:=c[i];
c[i]:=c[i+1];
c[i+1]:=q;
e:=true;
end;
v:=v+1;
end;
d:=0;
i:=0;
repeat
i:=i+1;
j:=i;
repeat
j:=j+1;
until(abs(c[j]-c[i])>=0.001);
j:=j-1;
if j-i+1>=3 then begin h:=(j-i+1)*(j-i)*(j-i-1);
h:=h div 6;
d:=d+h;
end;
i:=j-2;
until i>=k-2;
{ if abs(c[i]-c[j])<0.001 then begin
x:=j+1;
z:=k;
m:=(x+z) div 2;
e:=false;
while x<=z do
begin
e:=true;
if abs(c[i]-c[m])>=0.001 then begin
z:=m-1;
m:=(z+x)div 2;
end
else begin
x:=m+1;
m:=(x+z) div 2;
end;
end;
if e=true then d:=d+(m-j);
end; }
assign(f,'triang.out');rewrite(f);
writeln(f,d);
close(f);
end.