2013年8月22日

UVa 152 - Tree's a Crowd

#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;

int main() {
  int N = 0, x[5555], y[5555], z[5555];
  while (scanf("%d%d%d", &x[N], &y[N], &z[N])) {
    if (!x[N] && !y[N] && !z[N]) {
      break;
    }
    N++;
  }
  int cnt[10] = {};
  for (int i = 0; i < N; i++) {
    int dis = 2e9;
    for (int j = 0; j < N; j++) {
      if (i != j) {
        dis = min(dis, (x[j] - x[i]) * (x[j] - x[i]) + (y[j] - y[i]) * (y[j] - y[i]) + (z[j] - z[i]) * (z[j] - z[i]));
      }
    }
    if (dis < 100) {
      cnt[(int)sqrt(dis)]++;
    }
  }
  for (int i = 0; i < 10; i++) {
    printf("%4d", cnt[i]);
  }
  puts(""); // keypoint
  return 0;
}

沒有留言:

張貼留言