比赛 20120416 评测结果 AAAAAWWWTT
题目名称 牛类刺绣 最终得分 50
用户昵称 kaaala 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-04-16 10:12:10
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>

using namespace std;

struct Node
{
	int a,b,c;
}X[50010];

int N,D,ans;

bool fl(int a,int b,int c)
{
	return c*c<=D*D*(a*a+b*b);
}

bool solve(int i,int j)
{
	if(i>=j) 
		return false;
    int x=X[j].c*X[i].b-X[i].c*X[j].b,y=X[j].c*X[i].a-X[i].c*X[j].a,z=X[i].a*X[j].b-X[j].a*X[i].b; 
    return x*x+y*y<=D*D*z*z;
}

int main()
{
	freopen("cowemb.in","r",stdin);
	freopen("cowemb.out","w",stdout);
	scanf("%d%d",&N,&D);
	int m=0;
    for(int i=1;i<=N;i++) 
	{
		int a,b,c;
        scanf("%d%d%d",&a,&b,&c);
        if(fl(a,b,c))
		{
			m++;
			X[m].a=a;
			X[m].b=b;
			X[m].c=c;
		}
    }
    for(int i=1;i<=m;i++)
        for(int j=i;j<=m;j++)
            if(solve(i,j))
                ans++;
    printf("%d\n",ans);
	return 0;
}