本文主要是介绍POJ 1046,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题意就是找出16个中与之公式最小的那个出来,用结构体数组很容易就可以做出来了,不多说了,水题一道。
代码如下:
#include<iostream>
#include<cstdio>
using namespace std;
struct abc
{
int x,y,z;
}a[17];
int main()
{
int i,j,k,x,y,z,sum;
for(i=0;i<16;i++)
cin>>a[i].x>>a[i].y>>a[i].z;
while(cin>>x>>y>>z)
{
if(x==-1&&y==-1&&z==-1) break;
sum=1000000000;
for(i=0;i<16;i++)
{
j=(x-a[i].x)*(x-a[i].x)+(y-a[i].y)*(y-a[i].y)+(z-a[i].z)*(z-a[i].z);
if(j<sum)
{
sum=j;
k=i;
}
}
printf("(%d,%d,%d) maps to (%d,%d,%d)\n",x,y,z,a[k].x,a[k].y,a[k].z);
}
return 0;
}
这篇关于POJ 1046的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!