1
山地訓練
(4分)
題目內容:
為了能在下一次跑步比賽中有好的發揮,小白在一條山路上開始了她的跑步訓練。她希望能在每次訓練中跑得盡可能遠,不過她也知道農場中的一條規定:女孩子獨自進山的時間不得超過m秒(
1 <= m <= 10,000,000
)。假設整條山路劃分成
t個長度相同的路段(
1 <= t <= 100,000
),並且小白用
si表示第
i個路段的路況,用u、
f、d這
3個字母分別表示第
i個路段是上坡、平地、下坡。小白跑完一段上坡路的耗時是u秒(
1 <= u <= 100
),跑完一段平地的耗時是f秒(
1 <= f <= 100
),跑完一段下坡路的耗時是d秒(
1 <= d <= 100
)。注意,沿山路原路返回時,原本是上坡的路段變成了下坡路段,原本是下坡的路段變成了上坡路段。小白想知道,在能按時返回農場的前提下,她最多能在這條山路上跑多少個路段。請你程式設計幫助她計算。
函式原型:long fun(long m, long t, long u, long f, long d, char str);
函式功能:計算在限時m秒內
t個路段的情況下,最多往返可跑的路段數。
引數:m,t,u,f,d
分別代表限時、路段數,以及上坡、平地、下坡的耗時
陣列str
儲存整條山路的路段狀況
返回值:
最多可跑的路段數
程式執行結果示例1:
input m,t,u,f,d:
13 5 3 2 1↙
input conditions of road:
ufudf↙
num=4
程式執行結果示例2:
input m,t,u,f,d:
4000 8 18 10 5↙
input conditions of road:
fuffdfud↙
num=8
路況輸入提示資訊:"input conditions of road:"
進山時間等資料的輸入格式:"%ld%ld%ld%ld%ld"
路況等資料的輸入格式: "%s"
輸出格式:"num=%ld\n"
為避免出現格式錯誤,請直接拷貝貼上題目中給的格式字串和提示資訊到你的程式中。
時間限制:500ms記憶體限制:32000kb
#include#define n 100000
main()
*/ if (str[i] == 'u')
else if (str[i] == 'f')
else if (str[i] == 'd')
count++;
i++;
if (count == t)
break;
} while (s > 0);
printf("num=%ld\n", count);
}
ACM訓練日記 1月4日
新的一年的第一篇半周總結。昨天剛結束了常微分考試,考的我拔涼拔涼的,常微分老師對我們這一級真的是關照,相比15級的常微分期末題,難度提公升好多。qaq,還是好好準備物理,英語吧。雖然這半周考試有點緊張,但還是有有點收穫的,其實看了一些部落格,關於概率的主要知識點主要就是求期望和概率dp,其他還有結合...
ACM訓練日記 4月1日
還是先整理下昨天收穫最多的兩道題吧,因為我太菜,直接讓全隊少a了兩個題。qaq zoj 3964 題意 給出兩個陣列a和b,a表示每一堆石子的個數,b 當b 0,alice隨便取,當b 1,alice只能取奇數個,當b 2,alice只能取偶數個 兩個人alice和bob,輪流取石子,bob隨便取 ...
入門訓練(4)
問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,包含乙個整數,表示f n除以10007的餘數。說明 在本題中,答案是要求fn除以1...