Advertisement
Infiniti_Inter

Untitled

Apr 3rd, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. const int NaN = 1e9+13; // not a number;
  7. const int N = 1e5;
  8. template<typename T>
  9.     T sqr(T &a)
  10.     {
  11.         return a*a;
  12.     }
  13.  
  14. struct point{
  15.     double x, y, z;
  16.     void input();
  17.     void print();
  18.     double line();
  19. };
  20.  
  21. void point::input(){
  22.     cin >> x >> y >> z;
  23. }
  24.  
  25. void point::print(){
  26.     cout << x << ' ' << y << ' ' << z << endl;
  27. }
  28.  
  29. double point::line(){
  30.     return sqr(x) + sqr(y) + sqr(z);
  31. }
  32.  
  33.  
  34. bool check(point a, point b, double R){
  35.     point c = {a.x - b.x, a.y - b.y, a.z - b.z};
  36.     if (c.line() <= R * R * R)
  37.         return true;
  38.     else
  39.         return false;
  40. }
  41.  
  42.  
  43. point a[N];
  44.  
  45.  
  46. int main(){
  47.  
  48.     int n;
  49.     cin >> n;
  50.     double R;
  51.     cin >> R;
  52.  
  53.     for(int i = 0; i < n; ++i)
  54.         a[i].input();
  55.     int cnt = 0;
  56.     point ans = {NaN, NaN, NaN};
  57.     int ans_cnt = NaN;
  58.     for(int i = 0; i < n; ++i)
  59.     {
  60.         for(int j = 0; j < n; ++j)
  61.         {
  62.             if (check(a[i], a[j], R))
  63.                 cnt++;
  64.         }
  65.         if (cnt < ans_cnt)
  66.         {
  67.             ans_cnt = cnt;
  68.             ans = a[i];
  69.         }
  70.     }
  71.  
  72.     ans.print();
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement