2022秋 C语言程序设计 作业6-30
作者:
GhostBlade
,
2022-12-19 21:17:48
,
所有人可见
,
阅读 180
#include<stdio.h>
#include<math.h>
int distance(int x1,int y1,int x2,int y2)
{
int d;
d=abs(x1-x2)+abs(y1-y2);
return d;
}
int main()
{
int n;
scanf("%d",&n);
int a[n],b[n];
int i;
for(i=0;i<n;i++){
scanf("%d %d",&a[i],&b[i]);
}
int dis=0,max;
for(i=0;i<n-1;i++){
dis+=distance(a[i],b[i],a[i+1],b[i+1]);
}
printf("\n");
int c[n-2];
for(i=0;i<n-2;i++){
c[i]=distance(a[i],b[i],a[i+1],b[i+1])+distance(a[i+1],b[i+1],a[i+2],b[i+2])-distance(a[i],b[i],a[i+2],b[i+2]);
}
max=c[0];
for(i=1;i<n-2;i++){
if(max<c[i]) max=c[i];
}
printf("%d",dis-max);
}