#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
ios::sync_with_stdio(false); cin.tie(nullptr);
int n;
cin >> n;
vector<int> x(n + 1), y(n + 1), r(n + 1);
for (int i = 1; i <= n; i++)
cin >> x[i] >> y[i] >> r[i];
vector<int> ord(n + 1);
iota(ord.begin() + 1, ord.end(), 1);
sort(ord.begin() + 1, ord.end(), [&](int x, int y) {
return (r[x] > r[y] || (r[x] == r[y] && x < y));
});
vector<int> ans(n + 1);
for (auto i : ord) {
if (ans[i]) continue;
for (int j = 1; j <= n; j++)
if (!ans[j] && (x[i] - x[j]) * (x[i] - x[j]) + (y[i] - y[j]) * (y[i] - y[j]) <= (r[i] + r[j]) * (r[i] + r[j])) ans[j] = i;
}
for (int i = 1; i <= n; i++)
cout << ans[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... |