比赛 |
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);
}
}
}
}