給定乙個n×n
n\times n
n×n的網格a
aa,從左上角進,右下角出,要穿越2n−
12n-1
2n−1
個方格,問最小路徑和。
輸入格式:
第一行是乙個整數,表示正方形的寬度n
nn。後面n
nn行,每行n
nn個不大於100
10010
0的整數。
輸出格式:
輸出乙個整數,表示最小路徑和。
資料範圍:
n
≤100
n\le 100
n≤100
穿越2 n−
12n-1
2n−1
個方格相當於走2n−
22n-2
2n−2
步,所以必須是向下走n−1
n-1n−
1步,並且向右走n−1
n-1n−
1步,也就是說每步必須只能向右或者向下走。設f[i
][j]
f[i][j]
f[i][j
]是走到(i,
j)
(i,j)
(i,j
)這個方格為止得到的最小路徑和,則有f[i
][j]
=a[i
][j]
+min
f[i][j]=a[i][j]+\min\
f[i][j
]=a[
i][j
]+min初始條件f[1
][1]
=a[1
][1]
f[1][1]=a[1][1]
f[1][1
]=a[
1][1
]。**如下:
#include
using
namespace std;
const
int n =
110, inf =
1<<30;
int f[n]
[n], w[n]
[n];
intmain()
} cout << f[n]
[n]<< endl;
return0;
}
時空複雜度o(n
2)
o(n^2)
o(n2)。
最低通行費
描述 乙個商人穿過乙個 n n 的正方形的網格,去參加乙個非常重要的商務活動。他要從網格的左上角進,右下角出。每穿越中間1個小方格,都要花費1個單位時間。商人必須在 2n 1 個單位時間穿越出去。而在經過中間的每個小方格時,都需要繳納一定的費用。這個商人期望在規定時間內用最少費用穿越出去。請問至少需...
7614 最低通行費
總時間限制 1000ms 記憶體限制 65536kb 描述 乙個商人穿過乙個 n n 的正方形的網格,去參加乙個非常重要的商務活動。他要從網格的左上角進,右下角出。每穿越中間1個小方格,都要花費1個單位時間。商人必須在 2n 1 個單位時間穿越出去。而在經過中間的每個小方格時,都需要繳納一定的費用。...
OJ最低通行費
5 最低通行費 描述乙個商人穿過乙個 n n 的正方形的網格,去參加乙個非常重要的商務活動。他要從網格的左上角進,右下角出。每穿越中間1個小方格,都要花費1個單位時間。商人必須在 2n 1 個單位時間穿越出去。而在經過中間的每個小方格時,都需要繳納一定的費用。這個商人期望在規定時間內用最少費用穿越出...