hdu 1102 Constructing Roads(Prim最小生成树)
2010-09-15 16:34
337 查看
/* Author: ACb0y Date: 2010-9-14 Type: MST ProblemId: hdu 1102 Constructing Roads Result: AC */ #include <iostream> using namespace std; #define inf 99999999 int n; int q; int g[110][110]; int vis[110]; int d[110]; void MST() { int i, j; for (i = 1; i <= n; i++) { d[i] = g[1][i]; } memset(vis, 0, sizeof(vis)); d[1] = 0; int ans = 0; for (i = 1; i <= n; i++) { int Min = inf; int pos = -1; for (j = 1; j <= n; j++) if (!vis[j]) { if (d[j] < Min) { Min = d[j]; pos = j; } } vis[pos] = 1; ans += Min; for (j = 1; j <= n; j++) if (!vis[j]){ if (g[pos][j] < d[j]) { d[j] = g[pos][j]; } } } cout << ans << endl; } int main() { #ifndef ONLINE_JUDGE freopen("1102.txt", "r", stdin); #endif while (cin >> n) { int i, j; for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { int temp; cin >> g[i][j]; } } cin >> q; for (i = 1; i <= q; i++) { int a, b; cin >> a >> b; g[a][b] = g[b][a] = 0; } MST(); } return 0; }
相关文章推荐
- hdu 1102 Constructing Roads(最小生成树prim)
- hdu-1102 Constructing Roads(prim最小生成树)
- HDU - 1102-Constructing Roads——最小生成树prim
- HDU 1102 Constructing Roads(最小生成树-Prim)
- HDU 1102 Constructing Roads(prim求最小生成树)
- hdu 1102 (最小生成树kruskal算法--并查集,prim死活过不了)
- hdu1102 Constructing Roads--最小生成树prim
- HDU 1102 Constructing Roads(Prim求最小生成树)
- hdu 1102 最小生成树prim模板题
- hdu1102 Constructing Roads (最小生成树 prim 算法)
- HDU 1102 最小生成树 prim
- hdu 1102 Constructing Roads(最小生成树,prim)
- 【最小生成树+Prim】杭电 hdu 1102 Constructing Roads
- hdu 1102 Constructing Roads 最小生成树prim模板题
- HDU-1102(prim求最小生成树)
- hdu 1102 Constructing Roads(最小生成树 Prim)
- HDU1102 prim 最小生成树
- HDU-1102 Constructing Roads(最小生成树[Prim])
- HDU1102 prim 最小生成树
- hdu 1102 Constructing Roads(最小生成树 Prim)