显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
double n,x[105],y[105],ans,maxx;
inline void search(int a,int b){
// cout<<maxx<<' '<<ans<<endl;
ans=0;
if(x[a]==x[b]&&y[a]==y[b])return;
if(x[a]==x[b]){for(int i=1;i<=n;i++)if(x[i]==x[a])ans++;maxx=max(ans,maxx);return;}
if(y[a]==y[b]){for(int i=1;i<=n;i++)if(y[i]==y[a])ans++;maxx=max(ans,maxx);return;}
if((x[a]==0&&y[a]==0)){for(int i=1;i<=n;i++)if(y[i]*x[b]==x[i]*y[b])ans++;maxx=max(ans,maxx);return;}
if((x[b]==0&&y[b]==0)){for(int i=1;i<=n;i++)if(y[i]*x[a]==x[i]*y[a])ans++;maxx=max(ans,maxx);return;}
for(int i=1;i<=n;i++)
if(y[i]*(x[a]-x[b])==(y[a]-y[b])*x[i]+y[a]*(x[a]-x[b])-(y[a]-y[b])*x[a])ans++;
maxx=max(maxx,ans);
return;
}
int main(){
freopen("asm_fuel.in","r",stdin);
freopen("asm_fuel.out","w",stdout);
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)search(i,j);
cout<<maxx;
return 0;
}