else if (i == m - 1) // 到達底端,就只能往右走
else if (j == n - 1) // 到達右端,只能往下走
else // 否則在這一點能夠獲得的最大價值就是該點的寶物價值加上往右或者往下走能夠獲得的最大價值 }
int s(int i, int j)
else }
int main()
} printf("%d ", dp(0, 0));
/*putchar('\n');
putchar('\n');
printf("便於理解,列印f陣列,記錄最值:\n");
for (i = 0; i < m; ++i)
putchar('\n');
} putchar('\n');
putchar('\n');*/
printf("%d\n",s(0,0));
/*putchar('\n');
putchar('\n');
printf("便於理解,列印s陣列,記錄路徑最大值:\n");
for (i = 0; i < m; ++i)
putchar('\n');
}*/return 0;
}相似的題目,貪心加動態規劃,見我另一篇部落格點選開啟鏈結
****************************************talk is cheap, show me the code***********************************====
尋寶 動態規劃 滾動陣列)
小明有一張藏寶圖,上面有m n個房間,每個房間裡面都有乙個有一定價值的寶物,小明只能從左上角的房間進入收集寶物,且每次只能向右邊或向下邊的房間繼續尋寶,最終只能從最右下的房間出來。請你幫小明計算下他最多可以收集到多少價值的寶物?輸入第一行給出兩個正整數m,n 1 輸出收集到的最大價值v,題目保證v ...
動態規劃練習 移動路線
題目要求 桌子上有乙個m行n列的方格矩陣,將每個方格用座標表示,行座標從下到上依次遞增,列座標從左至右依次遞增,左下角方格的座標為 1,1 則右上角方格的座標為 m,n 小明是個調皮的孩子,一天他捉來乙隻螞蟻,不小心把螞蟻的右腳弄傷了,於是螞蟻只能向上或向右移動。小明把這只螞蟻放在左下角的方格中,螞...
動態規劃3 移動路線
描述 桌子上有乙個m行n列的方格矩陣,將每個方格用座標表示,行座標從下到上依次遞增,列座標從左至右依次遞增,左下角方格的座標為 1,1 則右上角方格的座標為 m,n 小明是個調皮的孩子,一天他捉來乙隻螞蟻,不小心把螞蟻的右腳弄傷了,於是螞蟻只能向上或向右移動。小明把這只螞蟻放在左下角的方格中,螞蟻從...