记录编号 197730 评测结果 AAAAAAAAAAAA
题目名称 [USACO Feb08] 连线游戏 最终得分 100
用户昵称 Gravatar神利·代目 是否通过 通过
代码语言 C++ 运行时间 0.012 s
提交时间 2015-10-24 12:04:29 内存使用 2.72 MiB
显示代码纯文本
#include<cstdio>
#include<algorithm>
#define e 1e-10
int n,shu,ans;
bool flag;//需特判斜率不存在的情况
double x[210],y[210];
double k[100010];
inline double ABS(double X)
{
	if(X<0)
	    return -X;
	return X;
}
int main()
{
	freopen("lines.in","r",stdin);
	freopen("lines.out","w",stdout);
	scanf("%d",&n);
	for(int i=0;i<n;++i)
	{
		scanf("%lf%lf",&x[i],&y[i]);
	    for(int j=0;j<i;++j)
	    {
			k[++shu]=(y[i]-y[j])/(x[i]-x[j]);
			if(k[shu]>1e20||k[shu]<-1e20)
			{
				--shu;
				flag=1;
			}
	    }
	}
	std::sort(k+1,k+shu+1);
	++ans;
	for(int i=2;i<=shu;++i)
		if(ABS(k[i]-k[i-1])>e)
		    ++ans;
	if(flag)
	    ++ans;
	printf("%d",ans);
	//while(1);
}