Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <cmath>
- #include <set>
- using namespace std;
- struct asteroid {
- double x, y, z;
- unsigned long long ts, uuid;
- };
- int main()
- {
- vector<asteroid> v;
- set <unsigned long long> s;
- unsigned long long n;
- double x0, y0, z0, r;
- cin >> x0 >> y0 >> z0 >> r;
- cin >> n;
- for (unsigned long long i = 0; i < n; ++i) {
- asteroid a;
- cin >> a.uuid >> a.ts >> a.x >> a.y >> a.z;
- v.push_back(a);
- }
- for (unsigned long long i = 0; i < n; ++i) {
- for (unsigned long long j = i + 1; j < n; ++j) {
- if(v[i].ts > v[j].ts) {
- unsigned long long t = v[i].ts;
- v[i].ts = v[j].ts;
- v[j].ts = t;
- }
- }
- }
- for (unsigned long long i = 0; i < n; ++i) {
- double l = sqrt((v[i].x - x0) * (v[i].x - x0) + (v[i].y - y0) * (v[i].y - y0) + (v[i].z - z0) * (v[i].z - z0));
- if (l < r) {
- if(s.find(v[i].uuid) == s.end()) {
- cout << v[i].uuid << '\n';
- s.insert(v[i].uuid);
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement