比赛 20120416 评测结果 AAAAATTTTT
题目名称 牛类刺绣 最终得分 50
用户昵称 Cloud 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-04-16 11:11:39
显示代码纯文本
#include<fstream>
#include<vector>
using namespace std;
struct yu
{
	double a,b,c;
};
vector<yu> y;
yu tmp;
int main(void)
{
	ifstream fin("cowemb.in");
	ofstream fout("cowemb.out");
	int n;
	double d;
	double x1,y1;
	fin>>n>>d;
	d*=d;
	int i,j,num=0;
	for(;n;n--)
	{
		fin>>tmp.a>>tmp.b>>tmp.c;
		if(tmp.c*tmp.c/(tmp.a*tmp.a+tmp.b*tmp.b)<=d)
			y.push_back(tmp);
	}
	n=y.size();
	for(i=0;i<n;i++)
		for(j=i+1;j<n;j++)
		{
			if(y[i].a*y[j].b!=y[i].b*y[j].a||y[i].b*y[j].c!=y[i].c*y[j].b)
			{
				x1=(y[i].b*y[j].c-y[i].c*y[j].b)/(y[i].a*y[j].b-y[i].b*y[j].a);
				if(y[i].b==0)
					y1=(-y[j].a*x1/y[j].b)-(y[j].c/y[j].b);
				else 
					y1=(-y[i].a*x1/y[i].b)-(y[i].c/y[i].b);
				if(x1*x1+y1*y1<=d)
					num++;
			}
		}
	fout<<num;
	fin.close();
	fout.close();
	return 0;
}