YCOJ中國郵遞員問題

2021-09-11 01:31:11 字數 1147 閱讀 7360

題目:

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網路分析之中國郵遞員問題

中國郵遞員問題是郵遞員在某一地區的信件投遞路程問題。郵遞員每天從郵局出發,走遍該地區所有街道再返回郵局,問題是他應如何安排送信的路線可以使所走的總路程最短。使用路徑分析,如果使用網路交匯點作為停靠點,那麼有些路 下圖中黑色線 還是無法經過。我們可以使用每條路的中心點作為停靠點,這樣就可以經過每條道路...