1036 數字跳躍

2021-10-08 16:16:04 字數 1044 閱讀 8090

問題描述

小明最近迷上了一種數字遊戲,指定給出一組正整數,遊戲規則是從第乙個數向最後乙個數進行跳躍,

選出一條跳躍次數最短的路徑(如果有多條,選出一條即可,並記錄跳躍次數)。每次跳躍長度至少為1,每個數字的值

表示可以從當前位置可以跳躍的最大長度。

輸入:一組正整數數字。

輸出:從第乙個數跳到最後乙個數的跳躍次數及每次的落點數字。

樣例輸入:

3, 1, 4, 1, 1, 5, 2, 1, 1, 6

樣例輸出:

33, 4, 5, 6

實現**:

#include

#include

#include

#define arraysize 100

intmain()

}/*開始判斷跳躍次數和跳躍點*/

jumpinterval = array[index]

;/*初始的最大跳躍間隔就是第乙個元素的值*/

droppointnum[pointpos++

]= array[index]

;/*第乙個數就是第乙個跳躍點*/

size--

;/*陣列下標的最大值*/

while

(interval != size)

else

} jumpinterval = max;

/*新的最大跳躍間隔*/

nodecount++

; index +

= flag;

droppointnum[pointpos++

]= max;

/*記錄跳躍點*/}}

/*列印跳躍點數和跳躍點*/

printf

("%d\n"

, nodecount);

pointpos =0;

while

(droppointnum[pointpos]!=0

)printf

("\n");

}return0;

}

跳躍的數字

給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。請確認你是否能夠跳躍到陣列的最後乙個下標。例如 a 2,3,1,1,4 a 2,3 1,1 4 能夠跳躍到最後乙個下標,輸出true a 3,2,1,0,4 a 3,2 1,0 4 不能跳躍到...

1036 非洲小孩

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 家住非洲的小孩,都很黑。為什麼呢?第一,他們地處熱帶,太陽輻射嚴重。第二,他們不經常洗澡。常年缺水,怎麼洗澡。現在,在乙個非洲部落裡,他們只有乙個地方洗澡,並且,洗澡時間很短,瞬間有木有!這也是沒有的辦法,缺水啊!每個小孩有乙個...

LintCode 跳躍遊戲 I VS跳躍遊戲 II

陣列中的每個元素代表你在那個位置可以跳躍的最大長度。判斷你是否能到達陣列的最後乙個位置。分析 方法一 基於動態規劃的做法,時間複雜度o n 2 陣列dp i 表示能否到達下標為i的位置,對於從下標i 1開始的每乙個位置,都從下標j 0開始到i 1判斷能否到達j,並且判斷從j開始最遠能否跳到或超過i的...