比赛 |
2024国庆练习1 |
评测结果 |
AAAAAAAAAA |
题目名称 |
混乱的齿轮 |
最终得分 |
100 |
用户昵称 |
小金 |
运行时间 |
0.059 s |
代码语言 |
C++ |
内存使用 |
4.78 MiB |
提交时间 |
2024-10-04 16:34:46 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<queue>
using namespace std;
struct C{
int x,y,r;
int s[1100];
}a[1100];
int n,b[1100],bj,v[1100];
queue<int> q;
int main()
{
freopen("rollers.in","r",stdin);
freopen("rollers.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].r);
if(a[i].x==0&&a[i].y==0) bj=i;
}
q.push(bj);
v[bj]=1;
while(q.size())
{
int l=q.front();
q.pop();
b[l]=1;
for(int i=1;i<=n;i++)
{
if(i==l) continue;
int d1=(a[i].x-a[l].x)*(a[i].x-a[l].x)+(a[i].y-a[l].y)*(a[i].y-a[l].y);
int d2=(a[i].r+a[l].r)*(a[i].r+a[l].r);
if(d1==d2)
{
if(b[i]==0)
{
a[l].s[0]++;
a[l].s[a[l].s[0]]=i;
}
if(v[i]==0)
{
q.push(i);
v[i]=1;
}
}
}
}
for(int i=1;i<=n;i++)
{
if(b[i]==1&&a[i].s[0]==0)
{
printf("%d %d",a[i].x,a[i].y);
return 0;
}
}
}