1. 程式人生 > >計蒜客 難題題庫 202 貝茜的訓練

計蒜客 難題題庫 202 貝茜的訓練

為了能在下一次跑步比賽中有好的發揮,貝茜在一條山路上開始了她的訓練。貝茜希望能在每次訓練中跑得儘可能遠,不過她也知道農場中的一條規定:奶牛獨自進山的時間不得超過M秒(1  < =  M  < =  10,000,000)。 整條山路被貝茜劃分成T個長度相同的小段(1  < =  T  < =  100,000),並且,貝茜用S_i表示第i個小段的路況。S_i為u,f,d這3個字母之一,它們分別表示第i個小段是上坡、平地,或是下坡。 貝茜要花U秒(1  < =  U  < =  100)才能跑完一段上坡路,跑完一段平地的耗時是 F秒(1  < =  F  < =  100),跑完一段下坡路要花D秒(1  < =  D  < =  100)。注意,沿山路 原路返回的時候,原本是上坡路的路段變成了下坡路,原本是下坡路的路段變成 了上坡路。 貝茜想知道,在能按時返回農場的前提下,她最多能在這條山路上跑多遠。

輸入格式: *  第1行:  5個用空格隔開的整數:M,T,U,F,以及D *  第2..T+1行:  第i+1行為1個字母S_i,描述了第i段山路的路況

輸出格式: *  第1行:  輸出1個整數,為貝茜在按時回到農場的前提下,最多能跑到多遠

輸入說明: 貝茜跑步的最大耗時為13秒(這麼短...),她跑步的山路一共被劃成5段。 貝茜跑完一段上坡路的耗時為3秒,平地為2秒,下坡路為1秒。山路各段的走向 如下圖所示:     _/\_ /

輸出說明: 貝茜跑完山路的前3段,然後返回,總耗時為3  +  2  +  3  +  1  +  2  +  1  =  12秒,只比她能在外面呆的時限少1秒。如果她跑得更遠,就無法按時回到農場。