乙個(n,m)大小的方格,交點處會隨機出現蘋果,規則是從左上頂點到右下頂點走,且只能向下向右走,求最多能撿多少個蘋果
動態規劃的問題:設在點(n,m)處有乙個蘋果,則對於點(n,m)處最多的蘋果數 s(n,m)=max;
所以,**如下:
classpoint
public
int y
public
static);}
}}
if (result );}}
}path.add(
new point() );}}
}return
result;
}}
測試**:
int[,] arr=newint[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...