time limit: 1 sec memory limit: 128 mb
submit: 15 solved: 6
[submit][status][web board]
給定一張無向圖,求圖中乙個至少包含3個點的環,環上的節點不重複,並且環上的邊的長度之和最小。該問題稱
為無向圖的最小環問題。在本題中,你需要輸出最小環的方案,若最小環不唯一,輸出任意乙個均可。若無解,輸
出"no solution."。圖的節點數不超過100。
5 71 4 1
1 3 300
3 1 10
1 2 16
2 3 100
2 5 15
5 3 20
1 3 5 2d[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 的最短路徑...