HDOJ-1863(最小生成树)
来源:互联网 发布:路由选择算法要求 编辑:程序博客网 时间:2024/06/01 07:14
几乎裸的最小生成树:
#include <cstdio>#include <vector>#include <algorithm>using namespace std;struct Edge{ int x, y, c; friend bool operator < (const Edge& a, const Edge& b){ return a.c < b.c; }};int set[100];int Find(int x){ return x != set[x] ? set[x] = Find(set[x]) : x;}bool Union(int x, int y){ int px = Find(x), py = Find(y); if(px != py){ set[px] = py; return true; } return false;}int main(){ int N, M, i, cost, connected; Edge e; vector<Edge> v; while(scanf("%d %d", &M, &N), M){ //initialize v.clear(); for(i = 1; i <= N; ++i) set[i] = i; //input for(i = 0; i < M; ++i){ scanf("%d %d %d", &e.x, &e.y, &e.c); v.push_back(e); } //minimum spanning tree connected = 1; cost = 0; sort(v.begin(), v.end()); for(i = 0; connected < N && i < M; ++i){ if(Union(v[i].x, v[i].y)){ cost += v[i].c; ++connected; } } if(connected == N) printf("%d\n", cost); else puts("?"); } return 0;}
0 0
- 最小生成树(HDOJ 1863)
- HDOJ-1863(最小生成树)
- HDOJ题目1863畅通工程(最小生成树)
- HDOJ 1863 畅通工程(最小生成树--kruskal)
- hdoj 1863 畅通工程(最小生成树)
- HDOJ 1863 畅通工程 (最小生成树)
- HDOJ 1863 畅通工程 (Kruskal 最小生成树)
- HDOJ 1863 畅通工程(Kruskal最小生成树)
- hdoj 1863 最小生成树(kruskal + 并查集)
- HDOJ 1863 畅通工程(最小生成树)
- hdoj 1863 畅通工程 【最小生成树】
- HDOJ 1863 畅通工程 (最小生成树]
- hdoj Constructing Roads(最小生成树)
- HDOJ 2988 -------最小生成树
- HDOJ 1863:畅通工程 Prim算法求解最小生成树
- hdoj 1863 畅通工程 最小生成树---prime算法
- hdoj 1863 畅通工程 【最小生成树】+【kruskal】
- HDOJ 1863 畅通工程 最小生成树 kruskal && prim
- 【设计模式】外观模式
- Java socket中关闭IO流后,发生什么事?(以关闭输出流为例)
- 2014年7月23日 22点13分
- 菜鸟的java之旅01
- Linux下时间的处理函数
- HDOJ-1863(最小生成树)
- hdu 1150 Machine Schedule(最小顶点覆盖)
- poj1287 Networking 最小生成树,kruskal
- Effective C++(八)
- URAL 1033 Labyrinth(DFS)
- UVA10913 - Walking on a Grid
- 初识flex
- haslayout 以及怎样触发haslayout? 在什么情况下需要触发haslayout
- cocos2dx粒子效果的一个有趣的bug