记录编号 |
38246 |
评测结果 |
AAAAAAATTT |
题目名称 |
[USACO Open09] 牛类刺绣 |
最终得分 |
70 |
用户昵称 |
201101 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
3.970 s |
提交时间 |
2012-04-16 16:45:13 |
内存使用 |
1.26 MiB |
显示代码纯文本
/*
UID:cheepok
PID:cowemb
*/
#include<stdio.h>
#include<math.h>
int n,t,ans;
double r,a[50001],b[50001],c[50001];
int main()
{
freopen("cowemb.in","r",stdin);
freopen("cowemb.out","w",stdout);
int i,j;
double A,B,C,x,y;
scanf("%d%lf",&n,&r);
r=r*r;
for(i=1;i<=n;i++)
{
scanf("%lf%lf%lf",&A,&B,&C);
if(((C*C)/(A*A+B*B))<=r)
{t++;a[t]=A;b[t]=B;c[t]=C;}
}
for(i=1;i<=t;i++)
{
for(j=1;j<i;j++)
{
if(b[i]==0&&b[j]==0)
{
continue;
}
else if(a[i]==0&&a[j]==0)
{
continue;
}
else
{
if((a[i]*b[j]-a[j]*b[i])>=-0.00001&&(a[i]*b[j]-a[j]*b[i])<=0.00001)continue;
x=(b[i]*c[j]-b[j]*c[i])/(a[i]*b[j]-a[j]*b[i]);
y=-(a[i]*x+c[i])/b[i];
}
if((x*x+y*y)<=r)ans++;
}
}
printf("%d\n",ans);
return 0;
}