【
输出说明】
贝茜能画出以下4种斜率的直线:-1,0,1/3以及1。
其实这题就是求斜率问题,斜率公式:行差/列差
代码如下:
var
x,y:array[1..200]of real;
f:array[1..40000]of real;
n,t,sum:longint;
procedure init;
var i:longint;
begin
readln(n);
for i:=1 to n do
readln(x[i],y[i]);
end;
procedure qsort(l,r:longint);
var i,j:longint; k,m:real;
begin
if l>=r then exit;
i:=l; j:=r;
k:=f[(l+r)div 2];
repeat
while f[i]<k do inc(i);
while f[j]>k do dec(j);
if i<=j then
begin
m:=f[i]; f[i]:=f[j]; f[j]:=m;
inc(i); dec(j);
end;
until i>j;
qsort(i,r);
qsort(l,j);
end;
procedure main;
var i,j:longint;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
begin
inc(t);
if (y[i]-y[j]=0) then f[t]:=maxlongint
else f[t]:=((x[i]-x[j])/(y[i]-y[j]));
end;
end;
procedure print;
var i:longint;
begin
qsort(1,t);
for i:=1 to t do
if f[i]=f[i+1] then continue else inc(sum);
write(sum);
end;
begin
assign(input,'lines.in');reset(input);
assign(output,'lines.out');rewrite(output);
init;
main;
print;
close(input); close(output);
end.