袋鼠過河問題

2021-08-07 11:10:50 字數 733 閱讀 5542

題目描述

乙隻袋鼠要從河這邊跳到河對岸,河很寬,但是河中間打了很多樁子,每隔一公尺就有乙個,每個樁子上都有乙個彈簧,袋鼠跳到彈簧上就可以跳的更遠。每個彈簧力量不同,用乙個數字代表它的力量,如果彈簧力量為5,就代表袋鼠下一跳最多能夠跳5公尺,如果為0,就會陷進去無法繼續跳躍。河流一共n公尺寬,袋鼠初始位置就在第乙個彈簧上面,要跳到最後乙個彈簧之後就算過河了,給定每個彈簧的力量,求袋鼠最少需要多少跳能夠到達對岸。如果無法到達輸出-1

輸入描述:

輸入分兩行,第一行是陣列長度n (1 ≤ n ≤ 10000),第二行是每一項的值,用空格分隔。

輸出描述:

輸出最少的跳數,無法到達輸出-1

**示例1

輸入**

5 2 0 1 1 1

輸出

提供兩種解決方式:

1、暴力解決,從第乙個樁出發,通過判斷其最大跳至的下一樁是否為0,若為0,則進行次大跳,當不為0時,繼續跳樁,當最大跳減至0,返回-1,無解。

2、動態規劃,通過河寬和a[i]的比較判斷是否取至第i樁的最小跳數,其始樁數為1,跳數為1,當出現彈力達不到比較寬度時,返回-1。

具體上**:

袋鼠過河(python版)

題目來自於牛客網 題目描述 乙隻袋鼠要從河這邊跳到河對岸,河很寬,但是河中間打了很多樁子,每隔一公尺就有乙個,每個樁子上都有乙個彈簧,袋鼠跳到彈簧上就可以跳的更遠。每個彈簧力量不同,用乙個數字代表它的力量,如果彈簧力量為5,就代表袋鼠下一跳最多能夠跳5公尺,如果為0,就會陷進去無法繼續跳躍。河流一共...

c 程式設計題 袋鼠過河

乙隻袋鼠要從河這邊跳到河對岸,河很寬,但是河中間打了很多樁子,每隔一公尺就有乙個,每個樁子上都有乙個彈簧,袋鼠跳到彈簧上就可以跳的更遠。每個彈簧力量不同,用乙個數字代表它的力量,如果彈簧力量為5,就代表袋鼠下一跳最多能夠跳5公尺,如果為0,就會陷進去無法繼續跳躍。河流一共n公尺寬,袋鼠初始位置就在第...

7 袋鼠過河

個人水平有限,請見諒!乙隻袋鼠要從河這邊跳到河對岸,河很寬,但是河中間打了很多樁子,每隔一公尺就有乙個,每個樁子上都有乙個彈簧,袋鼠跳到彈簧上就可以跳的更遠。每個彈簧力量不同,用乙個數字代表它的力量,如果彈簧力量為5,就代表袋鼠下一跳最多能夠跳5公尺,如果為0,就會陷進去無法繼續跳躍。河流一共n公尺...