#include<iostream>
#include<cmath>
#include<list>
using namespace std;
typedef struct coordinate{
int x;
int y;
int z;
}SCoordinate;
typedef struct input{
SCoordinate cTarget;
SCoordinate cInput;
}SInput;
int main(int argc, char *argv[]){
list<SCoordinate> mListTarget;
list<SInput> mListInput;
SCoordinate mCoordinate;
SInput mInput;
int distence;
for(int i=0;i<16;i++){
cin>>mCoordinate.x>>mCoordinate.y>>mCoordinate.z;
mListTarget.push_back(mCoordinate);
}
while(1){
cin>>mInput.cInput.x>>mInput.cInput.y>>mInput.cInput.z;
if(mInput.cInput.x==-1 &&
mInput.cInput.y==-1 &&
mInput.cInput.z==-1){
break;
}
distence=255*255*3+1;
for(list<SCoordinate>::iterator iter=mListTarget.begin();
iter!=mListTarget.end();++iter){
int tmpDistence=sqrt(pow(1.0*mInput.cInput.x-iter->x,2)
+pow(1.0*mInput.cInput.y-iter->y,2)
+pow(1.0*mInput.cInput.z-iter->z,2));
if(distence>tmpDistence){
mInput.cTarget.x=iter->x;
mInput.cTarget.y=iter->y;
mInput.cTarget.z=iter->z;
distence=tmpDistence;
}
}
mListInput.push_back(mInput);
}
for(list<SInput>::iterator iter=mListInput.begin();
iter!=mListInput.end();
++iter){
cout<<"("<<iter->cInput.x<<","<<iter->cInput.y<<","<<iter->cInput.z
<<") maps to ("<<iter->cTarget.x<<","<<iter->cTarget.y<<","<<iter->cTarget.z<<")"<<endl;
}
return 0;
}
POJ-1046
最新推荐文章于 2019-10-03 18:23:39 发布