問題描述
小明最近迷上了一種數字遊戲,指定給出一組正整數,遊戲規則是從第乙個數向最後乙個數進行跳躍,
選出一條跳躍次數最短的路徑(如果有多條,選出一條即可,並記錄跳躍次數)。每次跳躍長度至少為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的...