poj1734 求最小環)

2022-09-01 13:48:11 字數 1064 閱讀 2723

time limit: 1 sec  memory limit: 128 mb

submit: 15  solved: 6

[submit][status][web board]

給定一張無向圖,求圖中乙個至少包含3個點的環,環上的節點不重複,並且環上的邊的長度之和最小。該問題稱

為無向圖的最小環問題。在本題中,你需要輸出最小環的方案,若最小環不唯一,輸出任意乙個均可。若無解,輸

出"no solution."。圖的節點數不超過100。

5 7

1 4 1

1 3 300

3 1 10

1 2 16

2 3 100

2 5 15

5 3 20

1 3 5 2

d[i][j]在外層迴圈剛開始時表示1...k-1的最短路距離那麼d[i][j]+a[i][k]+a[k][j]構成乙個環,更新最小環即可

#include#include

#include

#include

#include

using

namespace

std;

const

int maxn=300+10

;const

int nil=0x3f3f3f3f

;int

a[maxn][maxn],pos[maxn][maxn],d[maxn][maxn];

vector

path;

stack

s;void getpath(int x,int

y)int

main()

}for (int i=1;i<=m;i++)

int ans=nil;

for (int k=1;k<=n;k++)

for (int i=1;i<=n;i++)}}

}if(ans==nil) printf("

no solution.");

else

return0;

}

POJ 1734 求最小環路徑 拓展Floyd

題意 n個點 m條無向邊 下面m條有權無向邊 問圖中最小環的路徑 學習的拓展floyd,先找環後鬆弛 dfs會做的簡單一點 搜尋比較好想 include include include define find min a,b ab?b a int map n n dis n n pre n n pa...

poj 1734 (floyd求最小環並列印路徑)

題意 求圖中的乙個最小環,並列印路徑。解析 ans 儲存最小環長度。一直wa,最後終於找到原因,inf開太大爆掉了。雖然0x3f3f3f3f用memset好用,但是還是有侷限性。include include include include include include include inclu...

floyd求最小環

floyd求最小環 1 定義 通常來說最小環是針對有向圖而言 從乙個點出發,經過一條簡單路徑回到起點成為環.圖的最小環就是所有環中長度最小的.2.怎樣求最小環呢?的解決方法 dijkstra 任意乙個環的權值,我們都可以看成兩個有邊相連的結點i j的直接距離加上i j間不包含邊 邊i j 的最短路徑...