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