1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| #include <stdio.h> #include <math.h> #include <algorithm>
bool find_max (double, double *, int); bool find_min (double, double *, int);
int main () { int n; scanf ("%d", &n); int num[n] = {0}; double x = 0; double y = 0; double distance[n] = {0}; for (int i = 0; i < n; i++) { scanf ("%d%lf%lf", &num[i], &x, &y); distance[i] = sqrt(x*x+ y*y); } int max_n = 0, min_n = 0; for (int i = 0; i < n; i++) { if (find_max(distance[i], distance, n)) { max_n = i; } if (find_min(distance[i], distance, n)) { min_n = i; } } printf ("%04d %04d", num[min_n], num[max_n]); return 0; }
bool find_max (double a, double * arr, int len) { for (int i = 0; i < len; i++) { if (a >= arr[i]) { if (i == len - 1) { return true; } } else { break; } } return false; }
bool find_min (double a, double * arr, int len) { for (int i = 0; i < len; i++) { if (a <= arr[i]) { if (i == len - 1) { return true; } } else { break; } } return false; }
|