hdu 1599 find the mincost route floyd求最小环
2014-12-05 21:19
281 查看
最小环见
点击打开链接
点击打开链接
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; const int inf = 1 << 28; const int N = 105; int a ; int dis ; int n, m; int ans; void init() { for( int i = 1; i <= n; i++ ) { for( int j = 1; j <= n; j++ ) { dis[i][j] = dis[j][i] = a[i][j] = (i == j? 0: inf); } } } void floyd() { ans = inf; for( int k = 1; k <= n; k ++) { for( int i = 1; i < k; i++ ) { for( int j = 1+i; j < k; j++ ) ans = min(ans, a[k][i] + dis[i][j] + a[j][k]); } for( int i = 1; i <= n; i++ ) { for( int j = 1; j <= n; j++ ) { dis[i][j] = min(dis[i][j], dis[i][k] + dis[k][j]); } } } } int main() { while(~scanf("%d%d", &n, &m)) { init(); int u, v, w; for( int i = 1; i <= m; i++ ) { scanf("%d%d%d", &u, &v, &w); dis[u][v] = dis[v][u] = a[u][v] = a[v][u] = min(w, a[u][v]); } floyd(); if( ans >= inf ) puts("It's impossible."); else printf("%d\n", ans); } return 0; }
相关文章推荐
- HDU 1599 find the mincost route 无向图最小环
- hdu 1599(Floyd求最小环)
- Floyd求最小环 HDU 1599
- hdu 1599 最小环
- HDU-1599 find the mincost route (无向图最小环[Floyd])
- hdu1599 find the mincost route floyd求最小环
- HDU 1599 find the mincost route 最小环
- HDU 1599 find the mincost route(无向图最小环)
- HDU 1599 find the mincost route Floyd求最小环
- HDU 1599 find the mincost route (无向图floyd最小环详解)
- hdu 1599 最小环
- hdu 1599 find the mincost route Floyd 无向图求最小环
- hdu 1599 最小环
- HDU 1599 find the mincost route(Floyd无向图最小环)
- hdu 1599 find the mincost route(flyod求最小环)
- HDU1599 find the mincost route(floyd求最小环)
- hdu 1599 floyd 最小环(floyd)
- hdu 1599 find the mincost route 最小环
- hdu--1599--最小环<会加深你对floyd的理解>
- find the mincost route HDU - 1599(带权最小环)(Floyd)