代码如下
#include<bits/stdc++.h>
using namespace std;
int n,x[505],y[505],ans;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>x[i]>>y[i];
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i==j)
continue;
int maxx=0;
for(int k=1;k<=n;k++){
if((y[j]-y[i])*(x[k]-x[i])==(x[j]-x[i])*(y[k]-y[i]))
maxx++;
}
ans=max(maxx,ans);
}
}
cout<<ans;
return 0;
}
(想着用直线方程做,但因本人太菜,改不出来)
如能帮助,感激不尽