動態規劃 撿蘋果的案例

2022-01-16 02:05:06 字數 985 閱讀 5291

乙個(n,m)大小的方格,交點處會隨機出現蘋果,規則是從左上頂點到右下頂點走,且只能向下向右走,求最多能撿多少個蘋果

動態規劃的問題:設在點(n,m)處有乙個蘋果,則對於點(n,m)處最多的蘋果數 s(n,m)=max;

所以,**如下:

class

point

public

int y

public

static);}

}}

if (result );}}

}path.add(

new point() );}}

}return

result;

}}

測試**:

int[,] arr=new

int[10,10

]; arr[

1, 2] = 1

; arr[

2, 1] = 1

; arr[

1, 8] = 1

; arr[

8, 2] = 1

; arr[

4, 7] = 1

; arr[

7, 6] = 1

; arr[

3, 2] = 1

; arr[

1, 9] = 1

; arr[

9, 2] = 1

; arr[

9, 4] = 1

; list

path;

path);

console.writeline(result);

console.read();

可以見到,不光可以獲取到最多的蘋果個數,還可以得到最優的路徑:-d

動態規劃入門 撿水果

蒜頭在玩一款遊戲,他在乙個山頂,現在他要下山,山上有許多水果,蒜頭每下乙個高度就可以撿起乙個水果,並且獲得水果的能量。山的形狀如圖所示 3 1 2 6 2 3 3 5 4 1 這是乙個高度為4 的山,數字代表水果的能量。每次下乙個高度,蒜頭需要選擇是往左下走,還是往右下走。例如 對於上圖的情況,蒜頭...

放蘋果 動態規劃

題目描述 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分發 5,1,1和1,1,5是同一種方法 輸入輸出格式 輸入格式 第一行是測試資料的數目t 0 t 20 以下每行均包括二個整數m和n,以空格分開。1 m,n 10 輸出格式 對輸入的每組資料m和n,用一行輸出相...

放蘋果(動態規劃)

題目描述 把 m 個同樣的蘋果放在 n 個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?注意 5 1 1 和 1 5 1 是同一種分法,即順序無關。輸入包含多組資料。每組資料報含兩個正整數 m和n 1 m,n 20 對應每組資料,輸出乙個整數k,表示有k種不同的分法。示例1 7 3 8...