HDU 6343 Graph Theory Homework
阿新 • • 發佈:2018-12-26
Problem Description
There is a complete graph containing n vertices, the weight of the i-th vertex is wi.
The length of edge between vertex i and j (i≠j) is ⌊|wi−wj|−−−−−−−√⌋.
Calculate the length of the shortest path from 1 to n.
Input
The first line of the input contains an integer T (1≤T≤10) denoting the number of test cases.
Each test case starts with an integer n (1≤n≤105) denoting the number of vertices in the graph.
The second line contains n integers, the i-th integer denotes wi (1≤wi≤105).
Output
For each test case, print an integer denoting the length of the shortest path from 1 to n.
Sample Input
1
3
1 3 5
Sample Output
2
題意:給出n個點的權值,求從1直接到n的最短路徑,路徑計算方式sqrt(abs(ai-aj)).
思路:易得知所以直接計算1 n兩點即可
#include <cstdio> #include <algorithm> #include <iostream> #include <cstring> #include <vector> #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 const int N =1e5+5; using namespace std; int a[N]; int main() { int t; scanf("%d",&t); while(t--){ int n; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); int re=sqrt(abs(a[n]-a[1])); printf("%d\n",re); } }