#include <bits/stdc++.h>
using namespace std;
#define int long long
#define f first
#define s second
#ifdef LOCAL
#define freopen(...) "i miss you"
#define err cerr
#else
#define err if (0) cerr
#endif
int d2 (pair<int, int> a, pair<int, int> b) {
return (a.f-b.f)*(a.f-b.f)+(a.s-b.s)*(a.s-b.s);
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<pair<pair<int, int>, int>> vt(n);
for (auto &i: vt) cin >> i.f.f >> i.f.s >> i.s;
vector<int> ord(n);
iota(ord.begin(), ord.end(), 0);
sort(ord.begin(), ord.end(), [&](int a, int b) { if (vt[a].s-vt[b].s) return vt[a].s > vt[b].s; return a < b;});
vector<int> ans(n, -1);
for (int i: ord) if (!~ans[i])
for (int j: ord) if (!~ans[j] && d2(vt[i].f, vt[j].f) <= (vt[i].s+vt[j].s)*(vt[i].s+vt[j].s))
ans[j] = i;
for (int i: ans) cout << i+1 << " ";
}
// no llama :(
# | 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... |