比赛 “Asm.Def战记之拉格朗日点”杯 评测结果 AAAAAAAAAA
题目名称 Asm.Def找燃料 最终得分 100
用户昵称 slyterlins 运行时间 0.044 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2015-11-04 11:34:12
显示代码纯文本
#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;   
}