您的位置:首页 > 其它

poj 2926 求n维坐标点之间的最大距离

2017-04-09 18:35 190 查看
#include<cstdio>
#define INF 0x3f3f3f3f
#define MAX(x,y) ((x)>(y)?(x):(y))
#define MIN(x,y) ((x)>(y)?(y):(x))
using namespace std;
double d[1000010][5];
int main()
{
int n,i,s,k;
double res,max,min;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%lf%lf%lf%lf%lf",&d[i][0],&d[i][1],&d[i][2],&d[i][3],&d[i][4]);
}
res=0;
for(s=0;s<(1<<5);s++)
{
max=-INF;
min=INF;
for(i=0;i<n;i++)
{
double t=0;
for(k=0;k<5;k++)
{
if((s>>k)&1)
t+=d[i][k];
else
t-=d[i][k];
}
max=MAX(max,t);
min=MIN(min,t);
}
res=MAX(res,max-min);
}
printf("%.2lf\n",res);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  poj