比赛 20111102 评测结果 AWWWWWWWWW
题目名称 麻烦的干草打包机 最终得分 10
用户昵称 hello! 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-11-02 20:40:54
显示代码纯文本
#include<cmath>
#include<fstream>
using namespace std;
struct haha
{
	int r;
	int X;
	int Y;
	bool use;
}ku[999999];
void search(int head);
int n,xt,yt;
void zh(int number);
int sx[10000],zz=1;
int main()
{
	ifstream infor("baler.in");
	ofstream outfor("baler.out");
	infor>>n>>xt>>yt;
	int V[10000];
	for(int i=1;i<=n;i++)
	{
		ku[i].use=true;
		infor>>ku[i].X>>ku[i].Y>>ku[i].r;
	}
	for(int i=1;i<=n;i++)
	{
		if((ku[i].X==xt)&&(ku[i].Y==yt))
		{
			sx[zz]=i;
			ku[i].use=false;
			search(i);
		}
	}
	V[1]=10000;
	for(int i=2;i<n;i++)
	{
		if(sx[i]==sx[i-1])
		{
			V[i]=V[i-1];
		}
		else
		{
			int temp=0;
			temp=ku[sx[i]].r/ku[sx[i-1]].r;
			V[i]=V[i-1]*temp;
		}
	}
	int sum=0;
	for(int i=1;i<=n;i++)
	{
		if(V[i]<0)
		{
			V[i]=-V[i];
		}
		sum=sum+V[i];
	}
	outfor<<sum<<endl;
	return 0;
}
void search(int head)
{			   
	zz++;
	for(int i=1;i<=n;i++)
	{
		if(ku[i].use!=false)
		{
		    int tmep1,tmep,amep,cmep;
		    amep=ku[head].X-ku[i].X;
		    cmep=ku[head].Y-ku[i].Y;
		    tmep=amep*amep;
			tmep1=cmep*cmep;
			tmep=tmep+tmep1;
		    int R;
		    R=ku[head].r+ku[i].r;
			R=R*R;
		    if(tmep==R)
		    {
				ku[i].use=false;
				sx[zz]=i;
			    search(i);
			}
		}
	}
}