乙個數軸上共有n個點,第乙個點的座標是度度熊現在位置,第n-1個點是度度熊的家。現在他需要依次的從0號座標走到n-1號座標。但是除了0號座標和n-1號座標,他可以在其餘的n-2個座標中選出乙個點,並直接將這個點忽略掉,問度度熊回家至少走多少距離?
輸入描述:輸入乙個正整數n, n <= 50。
接下來n個整數表示座標,正數表示x軸的正方向,負數表示x軸的負方向。絕對值小於等於100
輸出描述:輸出乙個整數表示度度熊最少需要走的距離。
輸入例子1:41 4 -1 3
輸出例子1:在若干點中選擇一點,使全程的路程最小。其實說白了就是選擇一點i,使其縮小的距離最大,即原來的距離是dis(i-1,i)+dis(i,i+1),去掉點i之後的距離是dis(i-1,i+1),只要遍歷一遍,求出每個點上面兩個距離的差值,求最大值,就可以確定要忽略哪個點了4
#include
#include
using
namespace std;
#include
intmain()
int max=0;
int index=-1
;int yuan;
int hou;
for(
int i=
1;i1;i++)}
if(index!=-1
)int sum=0;
for(
int i=
0;isize()
-1;i++
) cout
}
度度熊回家
度度熊回家 時間限制 1秒 空間限制 32768k 乙個數軸上共有 n個點,第乙個點的座標是度度熊現在位置,第 n 1個點是度度熊的家。現在他需要依次的從 0號座標走到 n 1號座標。但是除了 0號座標和 n 1號座標,他可以在其餘的 n 2個座標中選出乙個點,並直接將這個點忽略掉,問度度熊回家至少...
度度熊回家
輸入乙個正整數n,n 50。接下來n個整數表示座標,正數表示x軸的正方向,負數表示x軸的負方向。絕對值小於等於100輸出描述 輸出乙個整數表示度度熊最少需要走的距離。輸入例子 4 1 4 1 3輸出例子 4思路 這題的關鍵在如何找到可以去除的那一點。考察連續的三個點,若三點的值都是遞增的,如,這樣,...
度度熊回家 (模擬)
思路 先計算出從第0個座標到第n 1個座標的距離,然後列舉忽略 1 n 2 的點,直接可以得到需要走的距離。複雜度o n 當然暴力列舉再重新計算也是可以ac的,複雜度o n2 ac include include using namespace std define inf 0x3f3f3f3f c...