记录编号 |
197730 |
评测结果 |
AAAAAAAAAAAA |
题目名称 |
[USACO Feb08] 连线游戏 |
最终得分 |
100 |
用户昵称 |
神利·代目 |
是否通过 |
通过 |
代码语言 |
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);
}