轰炸
Rqnoj上的计算几何(这也叫计算几何?)。
法1.
如果你想AC的话,那么O(N^3)级的枚举算法,注意下常数优化就够了;
法2.
如果要高效的的话,可以先N^2的枚举两端点求斜率,然后NlogN排个序,求众数M,则
ans(ans-1)=M
法1.代码:
var
x,y:array[1..700] of longint;
n,i,j,k,dx,dy,count,ans:longint;
begin
readln(n); for i:=1 to n do readln(x[i],y[i]);
ans:=0;
for i:=1 to n-2 do
for j:=i+1 to n-1 do begin
count:=2;
dx:=x[j]-x[i];
dy:=y[j]-y[i];
for k:=j+1 to n do
if dx*(y[k]-y[i])=(x[k]-x[i])*dy then inc(count);
if count>ans then ans:=count;
end;
write(ans);
end.
法2.有空再写。