2014年10月2日 星期四

TIOJ 1019 . E.Jumping Up

最短路


#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#include<vector>
#include<utility>
#include<map>
#include<set>
#include<queue>
#include<cmath>
using namespace std;
typedef long long int int64;
int64 arr[2000];
int64 rec[2000];
int64 _abs(int64 x){return max(x, -x);}
int main()
{
int T;scanf("%d", &T);
while(T--){
int k; scanf("%d", &k);
for(int lx = 1;lx <= k;lx++)
scanf("%lld", arr+lx);
rec[0] = 0, rec[1] = 0;
arr[0] = arr[1];
for(int lx = 2;lx <= k;lx++)
rec[lx] = min(rec[lx-1] + _abs(arr[lx-1]- arr[lx]),
rec[lx-2] + _abs(arr[lx-2]- arr[lx]));
printf("%lld\n", rec[k]);
}
return 0;
}

沒有留言:

張貼留言