版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/V5ZSQ/article/details/82453391
Description
给出一张 个点的无向图和一个长度为 的序列 , 两点间距离为 ,问 两点间最短路径长度
Input
第一行一整数 表示用例组数,每组用例首先输入一整数 ,之后输入 个整数表示序列
Output
输出两点间最短路径长度
Sample Input
1
3
1 3 5
Sample Output
2
Solution
容易证明三角不等式 成立,故直接从 走到 最优,注意 的情况
Code
#include<cstdio>
#include<cmath>
using namespace std;
int T,n,a[100005];
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(int i=1;i<=n;i++)scanf("%d",&a[i]);
printf("%d\n",(int)sqrt(abs(a[1]-a[n])));
}
return 0;
}