題目:
description
乙個郵遞員從郵局出發,需要去 n - 2個城市送信,送完信件以後回家。
郵局在城市 1,家在城市 n,任意兩個城市之間都有道路,但是這些道路是單向,也就是說 a 到 b 和 b 到 a 的路徑長度不一定是一樣的。
他必須經過每個城市一次,並且不能重複經過,最後回到家裡。
現在要求你計算他需要經過的路徑總和的最小長度。
input
第一行有乙個整數 n(2≤ n ≤ 10)。
接下裡輸入乙個 n × n 的鄰接矩陣 g, g[i][j] 表示從 i 走到 j 的路徑長度。
output
輸出乙個整數表示最小經過的路徑總長度。
sample input 1
40 1 1 1
1 0 2 1
5 5 0 6
1 1 3 0
sample output 1
7source
計蒜客
當我第一眼看到這道題時,頓時傻眼了這是什麼題啊?
a 到 b 和 b 到 a 的路徑長度不一定是一樣的。
這是幾個意思?算了,我們可是oier,不要用正常人的眼光來看這些題。
也就是說,這道題的圖是乙個有向圖,所以又要請出我們的動態陣列vector了。
這道題的大致思路就是dfs求出所有方案數,求出乙個和目前已知最優方案比一下。
具體**:
#include using namespace std;
int n;
bool vis[1010];
struct node;
node(int _v,int _w) //建構函式
};//
int ans=0x3f3f3f3f;
vector g[15];
void dfs(int u,int k,int sum)//走完了,和目前已知最小值比一下
vis[u]=1;
for (int i=0;i>n;
for (int i=1;i<=n;i++)
} dfs(1,1,0);//呼叫函式
cout << ans;
return 0;
}
尤拉環遊和中國郵遞員問題
這篇文章介紹了尤拉環遊的定義判定,fleury演算法求尤拉圖中的尤拉環遊,最後給出了中國郵遞員問題的解決步驟。所謂尤拉環遊就是指在乙個無向圖中,從乙個點出發,每條邊恰好走一次並且能夠回到原點的路徑。舉個例子,下圖中路徑abcd就是乙個尤拉環遊。這種包含了尤拉環遊的圖叫尤拉圖。圖1 乙個尤拉圖 那麼,...
郵遞員送信
題目描述 有乙個郵遞員要送東西,郵局在節點1.他總共要送n 1樣東西,其目的地分別是2 n。由於這個城市的交通比較繁忙,因此所有的道路都是單行的,共有m條道路,通過每條道路需要一定的時間。這個郵遞員每次只能帶一樣東西。求送完這n 1樣東西並且最終回到郵局最少需要多少時間。輸入輸出格式 輸入格式 第一...
ArcGIS網路分析之中國郵遞員問題
中國郵遞員問題是郵遞員在某一地區的信件投遞路程問題。郵遞員每天從郵局出發,走遍該地區所有街道再返回郵局,問題是他應如何安排送信的路線可以使所走的總路程最短。使用路徑分析,如果使用網路交匯點作為停靠點,那麼有些路 下圖中黑色線 還是無法經過。我們可以使用每條路的中心點作為停靠點,這樣就可以經過每條道路...