一本通 1287 最低通行費

2022-08-13 11:48:13 字數 531 閱讀 4523

由題意可得:第一行所有點只能一直左走走到,所以f[i][j] = a[i][j] + f[i][j-1], 同理第一列的點也只能一直向下走走到,f[i][j] = a[i][j] + f[i-1][j] 。

預處理完後,餘下所有點到達該點的最小費用都等於min(到左邊的點的最小費用, 到上面的點的最小費用)+該點的費用。

#include #include using namespace std;

//mystery_sky

//#define m 101

int f[m][m], a[m][m], n;

int ans;

int main()

for(int i = 2; i <= n; i++)

for(int j = 2; j <= n; j++) f[i][j] = min(f[i-1][j], f[i][j-1]) + a[i][j];

printf("%d\n", f[n][n]);

return 0;

}

1287 最低通行費

乙個商人穿過乙個n n的正方形的網格,去參加乙個非常重要的商務活動。他要從網格的左上角進,右下角出。每穿越中間1個小方格,都要花費1個單位時間。商人必須在 2n 1 個單位時間穿越出去。而在經過中間的每個小方格時,都需要繳納一定的費用。這個商人期望在規定時間內用最少費用穿越出去。請問至少需要多少費用...

最低通行費

描述 乙個商人穿過乙個 n n 的正方形的網格,去參加乙個非常重要的商務活動。他要從網格的左上角進,右下角出。每穿越中間1個小方格,都要花費1個單位時間。商人必須在 2n 1 個單位時間穿越出去。而在經過中間的每個小方格時,都需要繳納一定的費用。這個商人期望在規定時間內用最少費用穿越出去。請問至少需...

7614 最低通行費

總時間限制 1000ms 記憶體限制 65536kb 描述 乙個商人穿過乙個 n n 的正方形的網格,去參加乙個非常重要的商務活動。他要從網格的左上角進,右下角出。每穿越中間1個小方格,都要花費1個單位時間。商人必須在 2n 1 個單位時間穿越出去。而在經過中間的每個小方格時,都需要繳納一定的費用。...