POJ1861(Network)-Kruskal
Sample Input
4 6
1 2 1
1 3 1
1 4 2
2 3 1
3 4 1
2 4 1
Sample Output
1
4
1 2
1 3
2 3
3 4
题目意思:4个点,6个边,每个边有对应的权值。最后输出一行为路径中最大的边的值,第二行为路径上边的总数,
第三行为每条边的始末编号。题目需要求出最小生成树的最大边的最小值。
/*
Problem: 1861 User:
Memory: 416K Time: 500MS
Language: C++ Result: Accepted
*/
#include <iostream>
#include <algorithm>
using namespace std; #define MAX 15010
int p[];//存放父亲结点 struct Edge
{
int u;
int v;
int w;
}map[MAX],ans[MAX]; bool cmp(Edge a,Edge b)
{
return a.w<b.w;
} int Find(int a)
{
return a==p[a]?a:a=Find(p[a]);
} int main()
{
int N,M,i;
int a,b,c;
cin>>N>>M;
for(i=;i<=N;i++)
{
p[i] = i;
}
for(i=;i<M;i++)
{
cin>>a>>b>>c;
map[i].u = a;
map[i].v = b;
map[i].w = c;
}
sort(map,map+M,cmp);
int count = ;
int maxEdge = ;
for(i=;i<M;i++){
int x = Find(map[i].u);
int y = Find(map[i].v);
if(x != y)
{
p[x] = y;//不在一个集合,合并
ans[count].u = map[i].u;
ans[count].v = map[i].v;
count ++;
if(map[i].w>maxEdge)
maxEdge = map[i].w;
}
}
cout<<maxEdge<<endl;//路径中最长的边
cout<<count<<endl;//边的总数
for(i=;i<count;i++)
cout<<ans[i].u<<" "<<ans[i].v<<endl;/输出每条路径
return ;
}
POJ1861(Network)-Kruskal的更多相关文章
- POJ1861 Network(Kruskal)(并查集)
Network Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 16047 Accepted: 6362 Spec ...
- POJ1861 Network (Kruskal算法 +并查集)
Network Description Andrew is working as system administrator and is planning to establish a new net ...
- poj1861 network(并查集+kruskal最小生成树
题目地址:http://poj.org/problem?id=1861 题意:输入点数n和边数n,m组边(点a,点b,a到b的权值).要求单条边权值的最大值最小,其他无所谓(所以多解:(.输出单条边最 ...
- ZOJ 1586 QS Network Kruskal求最小生成树
QS Network Sunny Cup 2003 - Preliminary Round April 20th, 12:00 - 17:00 Problem E: QS Network In the ...
- POJ1861 Network
Time Limit: 1000MS Memory Limit: 30000KB 64bit IO Format: %lld & %llu Description Andrew is ...
- POJ 1861 Network (Kruskal算法+输出的最小生成树里最长的边==最后加入生成树的边权 *【模板】)
Network Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14021 Accepted: 5484 Specia ...
- POJ 1861 Network (Kruskal求MST模板题)
Network Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14103 Accepted: 5528 Specia ...
- POJ-1287.Network(Kruskal + Prim + Prim堆优化)
Networking Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 19674 Accepted: 10061 Desc ...
- [bzoj 3732] Network (Kruskal重构树)
kruskal重构树 Description 给你N个点的无向图 (1 <= N <= 15,000),记为:1-N. 图中有M条边 (1 <= M <= 30,000) ,第 ...
随机推荐
- 1. Tomcat之startup.sh
#判断操作系统os400=falsecase "`uname`" inOS400*) os400=true;;esac # 取脚本名称PRG="$0" # 判断 ...
- C++ STL排序问题
/* stl排序 */ #include <iostream> #include <map> #include <vector> #include <list ...
- 一台服务器部署多台tomcat
如题,多个项目部署在一台服务器.减少容错性,觉得分开部署,这样一个tomcat挂了不会影响另一个项目.看配置和应用大小决定数量,一般四五个没问题,也有单台服务器部署8个tomcat稳定运行的. 下面记 ...
- Element 'repository' cannot have character [children], because the type's content type is element-only.
出错现象 由于代码是网络上拷贝来的,可能存在特殊字符,在进行maven打包的时候报错 [ERROR] Malformed POM F:\ai开放平台\SRC\web知识产权申请\pom.xml: ex ...
- canvas《砸肉蛋》
计划今年要自己写几个游戏的demo,先从<砸地鼠>这种简单的入手. 游戏思路 卡通化前端组头像 两种状态(快乐&被砸) 游戏时间1分钟 微信接口,分享最终得分 游戏规则 前端组的肉 ...
- 03点睛Spring4.1-scope
转载:https://www.iteye.com/blog/wiselyman-2210377 3.1 scope scope描述spring容器是怎么样新建类的实例的(bean); 在spring中 ...
- 常见问题:计算机网络/完整HTTP访问
域名解析 以浏览器进行HTTP访问为例,首先搜索自身DNS缓存(一般缓存1000条左右,仅缓存1分钟),若有且未过期,结束. 若未找到,则搜索操作系统的DNS缓存. 若未找到,尝试读取hosts文件. ...
- 使用第三方Java类库jaudiotagger完成Flac音频文件metadata(元数据)的读和修改
最近需要使用Java Swing做个读写Flac格式音频文件的小GUI工具,虽然Mp3tag完全可以完成Flac的读写(编辑)任务,但是为了简化工作流程(编辑Flac信息后调用其它系统的接口完成部分信 ...
- Mui manifest.json文档说明
Mui官方地址:https://ask.dcloud.net.cn/article/94 保存在这里,太难找了!!!!!! 以下是完整的manifest.json配置文件,在HBuilder|HBui ...
- C语言实现从左向右字幕滚动的效果
#include <stdio.h> #include <string.h> #include <windows.h> int main() { char str[ ...