比赛 “Asm.Def战记之拉格朗日点”杯 评测结果 AAAAAAAAAA
题目名称 Asm.Def找燃料 最终得分 100
用户昵称 Tychus 运行时间 0.060 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2015-11-04 11:59:02
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cmath>
#include <iomanip>
#define LIMIT 0.00000001
using namespace std;
int n,x[110],y[110],ans=1;
int main()
{
	freopen("asm_fuel.in","r",stdin);
	freopen("asm_fuel.out","w",stdout);
	ios::sync_with_stdio(false);
	cin>>n;
	for (int i=1;i<=n;i++)
		cin>>x[i]>>y[i];
	for (int i=1;i<n;i++)
		for (int j=i+1;j<=n;j++)
		{
			int sum=2;
			if (x[i]==x[j]&&y[i]==y[j]) continue;
			if (x[i]==x[j])
			{
				for (int k=1;k<=n;k++)
					if (k!=i&&k!=j&&x[k]==x[i]) sum++;
			}
			else
			{
				double k1;
				k1=x[j]-x[i];
				k1=1.0*(y[j]-y[i])/k1;
				for (int k=1;k<=n;k++)
					if (k!=i&&k!=j)
					{
						if (x[k]==x[i]&&y[k]==y[i])
							sum++;
						else if (x[k]!=x[i])
						{
							double k2;
							k2=x[k]-x[i];
							k2=1.0*(y[k]-y[i])/k2;
							if (k1-k2>-LIMIT&&k1-k2<LIMIT) sum++;
						}
					}
			}
			if (sum>ans) ans=sum;
		}
	cout<<ans<<endl;
	fclose(stdin);
	fclose(stdout);
	return 0;
}