...原来现在缺的是水题
很多东西还是不会用= =
关于这道题
其实就是给16个空间中的点
然后又给了若干个点,对于这若干个点的每一个点,求在16个点中哪个离它最近
#include <bits/stdc++.h>
using namespace std;
int Sqr(int x)
{
return x*x;
}
int Dis(int x,int y,int z,int x1,int y1,int z1)
{
return (Sqr(x-x1)+Sqr(y-y1)+Sqr(z-z1));
}
vector<int> a,b,c;
void Gao()
{
a.clear();b.clear();c.clear();
for (int i=0;i<16;i++)
{
int x,y,z;
cin>>x>>y>>z;
a.push_back(x);
b.push_back(y);
c.push_back(z);
}
int x,y,z;
while (cin>>x>>y>>z)
{
if (x==-1)
return ;
int minn=1000000000;
int p=0;
for (int i=0;i<16;i++)
{
int tem=Dis(x,y,z,a[i],b[i],c[i]);
if (tem<minn)
{
minn=tem;
p=i;
}
}
printf("(%d,%d,%d) maps to (%d,%d,%d)\n",x,y,z,a[p],b[p],c[p]);
}
return ;
}
int main()
{
freopen("a.in","r",stdin);
Gao();
return 0;
}