小q 正在攀登一座寶塔,這些寶塔很特別。塔總共有 n 層,但是每兩層之間的淨高卻不相同,所以造成了小q 爬過每層的時間也不同。如果某一層的高度為 x,那麼爬過這一層所需的時間也是 x。小q 還會使用一種魔法,每用一次就可以讓他向上跳一層或兩層,但是每次跳躍後小 q 都將用完魔法力,必須爬過至少一層才能再次跳躍(你可以認為小 q 需要跳兩次一層才休息,最後也可以跳到塔外即超過塔高,挑是不消耗時間的)。
小 q 享用最短的時間爬過塔頂,希望你能告訴他最短時間是多少?
第一行乙個數 n(n≤10000)n(n≤10000),表示塔的層數。
接下來的 n 行每行乙個數 h(1≤h≤100)h(1≤h≤100),表示從下往上每層的高度
乙個數,表示最短時間
輸入:輸出:
思路:
p[i]表示到達第i層的最短時間,並且到達第i層的方式是爬
t[i]表示到達第i層的最短時間,並且達到第i層的方式是跳
1、到達第i層的方式是爬:
那麼到達第i-1是爬也可以是跳,從兩者選最小
p[i] = min(p[i-1],t[i-1])+a[i]
2、到達第i層的方式是跳:
那麼可以從第i-1層跳,或者從第i-2層跳,並且到達第i-1和i-2的方式只能是選爬
t[i] = min(p[i-1],p[i-2])
最後比較p[n]和t[n]
**:
#includeusing namespace std;
int p[10005],t[10005];
int main()
cout
}
騰訊程式設計題 貪吃的小Q
時間限制 1秒 空間限制 32768k 小q的父母要出差n天,走之前給小q留下了m塊巧克力。小q決定每天吃的巧克力數量不少於前一天吃的一半,但是他又不想在父母回來之前的某一天沒有巧克力吃,請問他第一天最多能吃多少塊巧克力 輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含兩個正整數,表示父...
騰訊 貪吃的小Q
小q的父母要出差n天,走之前給小q留下了m塊巧克力。小q決定每天吃的巧克力數量不少於前一天吃的一半,但是他又不想在父母回來之前的某一天沒有巧克力吃,請問他第一天最多能吃多少塊巧克力 輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含兩個正整數,表示父母出差的天數n n 50000 和巧克力...
騰訊筆試程式設計題 小Q上廁所
小q今天在上廁所時想到了這個問題 有n個數,兩兩組成二元組,差最小的有多少對呢?差最大呢?輸入輸入包含多組測試資料。對於每組測試資料 n 本組測試資料有n個數 a1,a2 an 需要計算的資料 保證 1 n 100000,0 ai int max.輸出對於每組資料,輸出兩個數,第乙個數表示差最小的對...