bzoj 1610: [Usaco2008 Feb]Line连线游戏

来源:互联网 发布:unity3d与ar 编辑:程序博客网 时间:2024/06/05 16:47

暴力求出所有连线的斜率,相同的去掉。剩下的个数即为答案。


#include <cstdio>#include <cmath>#include <algorithm>using namespace std;struct qaq{    double x,y;}a[205];const double eps=1e-10;double line[40005];int n,tot,ans;int main(){    register int i,j;    scanf("%d",&n);    for (i=1;i<=n;i++)    {        scanf("%lf %lf",&a[i].x,&a[i].y);    }    for (i=1;i<=n-1;i++)    for (j=i+1;j<=n;j++)    {        if(a[i].x!=a[j].x) line[++tot]=(a[j].y-a[i].y)/(a[j].x-a[i].x);        else line[++tot]=1e9;    }    sort(line+1,line+tot+1);    for (i=1;i<=tot;i++)    {        if (fabs(line[i]-line[i-1])>eps) ans++;    }    printf("%d",ans);    return 0;}




0 0
原创粉丝点击