http://acm.pku.edu.cn/JudgeOnline/problem?id=1046
Код:
#include <stdio.h> #include <iostream> #include <math.h> #include <stdlib.h> using namespace std; int main() { int a[17][4]; int i,k,x,y,z; double min,j; for (i=1;i<=16;i++) scanf("%d%d%d",&a[i][1],&a[i][2],&a[i][3]); do { scanf("%d%d%d",&x,&y,&z); if (x==-1&&y==-1&&z==-1) return 0; min=1000000; for (i=1;i<=16;i++) { j=sqrt(pow((a[i][1]-x),2)+pow((a[i][2]-y),2)+pow((a[i][3]-z),2)); if (j<min) { k=i; min=j; } } cout << '(' << x << ',' << y << ',' << z << ')' << " maps to (" << a[k][1] << ',' << a[k][2] << ',' << a[k][3] << ')' << endl; }while (1); return 0; }