제출 #931612

#제출 시각아이디문제언어결과실행 시간메모리
93161212345678원 고르기 (APIO18_circle_selection)C++17
7 / 100
102 ms1116 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int nx=5e3+5;

ll n, x[nx], y[nx], r[nx], used[nx], res[nx];

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n;
    for (int i=1; i<=n; i++) cin>>x[i]>>y[i]>>r[i];
    for (int i=1; i<=n; i++)
    {
        pair<ll, ll> p={0, 0};
        for (int j=1; j<=n; j++) if (!used[j]) p=max(p, {r[j], -j});
        if (p.first==0) continue;
        for (int j=1; j<=n; j++) if (!used[j]&&((x[-p.second]-x[j])*(x[-p.second]-x[j])+(y[-p.second]-y[j])*(y[-p.second]-y[j])<=(r[-p.second]+r[j])*(r[-p.second]+r[j]))) used[j]=1, res[j]=-p.second;
    }
    for (int i=1; i<=n; i++) cout<<res[i]<<' ';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...