91. 最短hamilton路徑
給定一張 nn 個點的帶權無向圖,點從 0~n-1 標號,求起點 0 到終點 n-1 的最短hamilton路徑。 hamilton路徑的定義是從 0 到 n-1 不重不漏地經過每個點恰好一次。
輸入格式
第一行輸入整數nn。
接下來nn行每行nn個整數,其中第ii行第jj個整數表示點ii到jj的距離(記為a[i,j])。
對於任意的x,y,zx,y,z,資料保證 a[x,x]=0,a[x,y]=a[y,x] 並且 a[x,y]+a[y,z]>=a[x,z]。
輸出格式
輸出乙個整數,表示最短hamilton路徑的長度。
資料範圍
1≤n≤201≤n≤20
0≤a[i,j]≤1070≤a[i,j]≤107
輸入樣例:
50 2 4 5 1
2 0 6 5 3
4 6 0 8 3
5 5 8 0 5
1 3 3 5 0
輸出樣例:
#include
using namespace std;
typedef
long
long ll;
const
int n=
20,m=
1<<20;
int n;
int f[m]
[n],w[n]
[n];
intmain()
}memset
(f,0x3f
,sizeof
(f))
;//把所有的狀態初始化成正無窮
f[1][
0]=0
;//有1個點,在0號點,且沒走過路程,初始化就為0
for(
int i=
0;i<
1<}}
} cout<<< n)-1
][n-1]
}
AcWing 91 最短Hamilton路徑
狀壓dp 二進位制 給定一張 n 個點的帶權無向圖,點從 0 n 1 標號,求起點 0 到終點 n 1 的最短 hamilton 路徑。hamilton 路徑的定義是從 0 到 n 1 不重不漏地經過每個點恰好一次。輸入格式 第一行輸入整數 n。接下來 n 行每行 n 個整數,其中第 i 行第 j ...
91 AcWing 最短Hamilton路徑
原題鏈結 給定一張 n 個點的帶權無向圖,點從 0 n 1 標號,求起點 0 到終點 n 1 的最短hamilton路徑。hamilton路徑的定義是從 0 到 n 1 不重不漏地經過每個點恰好一次。輸入格式 第一行輸入整數n。接下來n行每行n個整數,其中第i行第j個整數表示點i到j的距離 記為a ...
AcWing 1134 最短路計數
題目描述 給出乙個 n 個頂點 m 條邊的無向無權圖,頂點編號為 1 到 n。問從頂點 1 開始,到其他每個點的最短路有幾條。輸入格式 第一行包含 2 個正整數 n,m,為圖的頂點數與邊數。接下來 m 行,每行兩個正整數 x,y,表示有一條頂點 x 連向頂點 y 的邊,請注意可能有自環與重邊。輸出格...