HDU 1102 Kruskal
来源:互联网 发布:多媒体显示屏播放软件 编辑:程序博客网 时间:2024/06/01 18:42
一开始边开少了,结果RE了一次。改了一下边的大小就过了
Kruskal算法就是找边,先把边都存起来,然后排序,挨个查找并且利用并查集判断
#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>using namespace std;#define LLEN 102#define EDGELEN 10010int map[LLEN][LLEN];typedef struct edge{int u, v, w;}edge;edge e[EDGELEN];int p[LLEN];bool cmp(edge a, edge b) {return a.w < b.w;}void init(int n) {for(int i = 0; i <= n; i++) {p[i] = i;}}int find(int x) {return p[x] == x ? x : (p[x] = find(p[x]));}int kruskal(int n, int q, int index) {int ans = 0;for(int i = 0; i < index; i++) {int t1 = find(e[i].u);int t2 = find(e[i].v);if(t1 != t2) {p[t1] = t2;ans += e[i].w;}}return ans;}int main() {int n, q;while(scanf("%d", &n) != EOF) {int index = 0;for(int i = 1; i <= n; i++) {for(int j = 1; j <= n; j++) {scanf("%d", &map[i][j]);}}for(int i = 1; i <= n; i++) {for(int j = 1; j < i; j++) {e[index].u = i;e[index].v = j;e[index++].w = map[i][j];}}sort(e, e+index, cmp);init(n);scanf("%d", &q);for(int i = 0; i < q; i++) {int a, b;scanf("%d%d", &a, &b);int t1 = find(a);int t2 = find(b);if(t1 != t2) {p[t1] = t2;}}int ans = kruskal(n, q, index);printf("%d\n", ans);}return 0;}
- hdu 1102 kruskal
- HDU 1102 Kruskal
- hdu 1102 kruskal Constructing Roads
- HDU 1102 Constructing Roads(Kruskal)
- acm hdu 1102 Constructing Roads(kruskal)
- hdu 1102 Constructing Roads (prim 、kruskal)
- HDU-#1102 Constructing Roads(Prim & Kruskal)
- hdu 1102 Constructing Roads(Kruskal算法)
- HDU 1102:Constructing Roads【Kruskal & Prim】
- hdu 1102 Constructing Roads(kruskal || prim)
- HDU:1102 Constructing Roads(kruskal)
- HDU 1102 Constructing Roads (kruskal)
- hdu hdu 1102 Constructing Roads(最小生成树Kruskal)
- hdu 1233 kruskal
- hdu 4313(kruskal思想)
- HDU 3371 Kruskal
- hdu 1162(Kruskal)
- hdu 1863 kruskal
- windows删除svn文件夹
- 《C++游戏开发》笔记十四 平滑过渡的战争迷雾(二) 实现:真正的迷雾来了
- 控件大小位置随分辨率而变化
- 进程调度
- 藕合电容如何布置
- HDU 1102 Kruskal
- hdu - 4632 - Palindrome subsequence(dp)
- 1003——max num
- 三大框架struts,hibernate,spring的工作原理
- SQL配置--来自百度知道的一位人士的回答
- 互联网公司OpenAPI链接
- IE浏览器支持getElementsByClassName方法
- windows 7下安装python+mongodb
- 表管理:从回收站中恢复表