王道 数据结构 p18 第14题
#include<iostream>
#define INT_MAX 0x7fffffff
using namespace std;
int absD(int x){
return x>=0?x:-x;
}
int minDistance(int S1[],int S2[],int S3[],int n,int m,int p)
{
int minD=INT_MAX;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
for(int k=0;k<p;k++)
{
int pD=absD(S1[i]-S2[j])+absD(S2[j]-S3[k])+absD(S3[k]-S1[i]);
if(minD>pD)
minD=pD;
}
}
}
return minD;
}
int main(){
int S1[]={-1,0,9};
int S2[]={-25,-10,10,11};
int S3[]={2,9,17,30,41};
cout<<"最小距离是"<<minDistance(S1,S2,S3,3,4,5)<<endl;
}
|