This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |