hpuoj 问题 C: 善良的国王【最小生成树kurskal】
问题 C: 善良的国王
时间限制: 1 Sec 内存限制: 128 MB
提交: 112 解决: 48
[提交][状态][讨论版]
题目描述
很久很久以前,有一个贫困的国家,这个国家有一个善良爱民的国王,但是国运维艰,这个国家总是不得不面对这天灾的严峻挑战,又一次连月的大雨,引发了洪水,洪水冲断了道路,水褪去后也有很多村庄成为了孤岛,善良的国王爱民如子,于是他想从本不富足的税收中拿出一部分钱,来给这些村庄修道路,但是国力有限,不能修复所有的道路,于是国王决定,保证村庄两两之间可以到达就好。现在国王想知道他要建的道路中最长的最少要多长。
输入
输入包含多组测试数据,每组测试数据首先输入一个n,表示有n个村庄3 <= n <=
500,编号为1-n,然后下边一个n*n的矩阵,第i行第j列的值,表示标号i到编号j的村庄的距离是这个值,单位1~65536
输出
输出国王要建的道路中最长的最少的长度。
样例输入
3
0 990 692
990 0 179
692 179 0
样例输出
692 简单最小生成树,求出最小生成树中的最长边:用kurskal算法在加边时多写一个用于求最长边的步骤即可用 prime算法也是如此,这里就不写prime了
kurskal算法:
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define MAX 1100
#define maxn(x,y)(x>y?x:y)
#define INF 0x3f3f3f
using namespace std;
int n,k,maxx;
int set[MAX],map[MAX][MAX];
struct node
{
int b;
int e;
int m;
}s[MAX];
bool cmp(node a,node b)
{
return a.m<b.m;
}
int find(int fa)
{
if(fa==set[fa])
return fa;
return set[fa]=find(set[fa]);
}
void mix(int x,int y)
{
int fx=find(x);
int fy=find(y);
if(fx!=fy)
set[fx]=fy;
}
void init()
{
int i,j;
for(i=1;i<=n;i++)
set[i]=i;
} void getmap()
{
int i,j;
memset(map,0,sizeof(map));
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
scanf("%d",&map[i][j]);
}
}
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
{
if(map[i][j]>0)
{
s[k].b=i;
s[k].e=j;
s[k++].m=map[i][j];
}
}
} void solve()
{
int i,j;
sort(s,s+k,cmp);
for(i=0;i<k;i++)
{
if(find(s[i].b)!=find(s[i].e))
{
mix(s[i].b,s[i].e);
maxx=maxn(maxx,s[i].m);
}
}
printf("%d\n",maxx);
}
int main()
{
int i,j;
while(scanf("%d",&n)!=EOF)
{
k=0;maxx=0;
init();
getmap();
solve();
}
return 0;
}
hpuoj 问题 C: 善良的国王【最小生成树kurskal】的更多相关文章
- 图论篇2——最小生成树算法(kurskal算法&prim算法)
基本概念 树(Tree) 如果一个无向连通图中不存在回路,则这种图称为树. 生成树 (Spanning Tree) 无向连通图G的一个子图如果是一颗包含G的所有顶点的树,则该子图称为G的生成树. 生成 ...
- nyoj 925 国王的烦恼(最小生成树)
/* 题意:N个城市中每两个城市有多条路径连接,可是因为路径存在的天数是有限的!以为某条路经不存在了 导致N个城市不能连通了,那么村名们就会抗议!问一共会有多少次抗议! 思路:最小生成树....我们用 ...
- 题解西电OJ (Problem 1004 -亚特兰提斯)--最小生成树
Description 为了找寻沉睡的亚特兰提斯大陆,wm来到了大西洋上进行探险,找了半个月仍一无所获.然而在一次突袭而来的暴风雨后,wm的船莫名地驶入了一片未知的区域,发现了一个地图上未标记的岛屿, ...
- Kurskal算法(克鲁斯卡尔算法)
特点:适用于稀疏图,边比较少的图.如果顶点较少,且为稠密图,则用Prim算法.跟Prim算法的用途相同.时间复杂度为O(e*loge),其中e为边数. 代码: #include <stdio.h ...
- 计蒜客NOIP模拟赛(3)D1T3 任性的国王
X 国的地图可以被看作一个两行 nn 列的网格状图.现在 X 国需要修建铁路,然而该国的国王非常小气,他只想保证位于某两列之间的所有城市互相可以到达就行了,在此基础上,他希望所花费的代价最小. 铁路可 ...
- HDU 5723 Abandoned country(最小生成树+边两边点数)
http://acm.split.hdu.edu.cn/showproblem.php?pid=5723 题意:给出一个无向图,每条路都有一个代价,求出把所有城市连通的最小代价.在此基础上,国王会从这 ...
- 算法笔记_180:历届试题 国王的烦恼(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛.两个小岛间可能存在多座桥连接.然而,由于海水冲 ...
- 【BZOJ3551】[ONTAK2010]Peaks加强版 最小生成树+DFS序+主席树
[BZOJ3545][ONTAK2010]Peaks Description 在Bytemountains有N座山峰,每座山峰有他的高度h_i.有些山峰之间有双向道路相连,共M条路径,每条路径有一个困 ...
- 【2018 ICPC亚洲区域赛徐州站 A】Rikka with Minimum Spanning Trees(求最小生成树个数与总权值的乘积)
Hello everyone! I am your old friend Rikka. Welcome to Xuzhou. This is the first problem, which is a ...
随机推荐
- 浅谈iOS开发的协议(protocol)和代理(delegate)
协议和代理对于一个新手来说确实不讨好理解,也有很多的iOS开发的老手对此是懂非懂的.网上的很多博文只是讲了怎么使用,并没有说的很明白.下面我谈一下我的理解. 1.你要先搞明白,协议和代理为什么会出现, ...
- 类库探源——System.Exception
一.MSDN描述 Exception 类: 表示在应用程序执行期间发生的错误 命名空间 : System 程序集: mscorlib.dll 继承关系: 常用属性(含字段)和方法: 1. 属性Me ...
- 子网/ip/子网掩码
IP地址由网络地址和主机地址组成 而现在IP由“子网掩码”通过子网网络地 址细分出 A,B,C类更小的网络.这种方式 实际上就是将原来的A类,B类,C类等分类 中的的主机地址部分用作子网地址,可以 将 ...
- jquery 幻灯片
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 或许有一两点你不知的C语言特性
关键字篇 volatile关键字 鲜为人知的关键字之一volatile,表示变量是'易变的',之所以会有这个关键字,主要是消除编译优化带来的一些问题,看下面的代码 ; int b = a; int c ...
- go 语言与循环
package main import "fmt" type Employee struct{name string; age int} func displayName(e *E ...
- mvc4 to mvc5 and EF5 to EF6
今天把 后台的mvc 升级到了mvc5和ef6 .出错很正常. 下面是一些错误信息. [A]System.Web.WebPages.Razor.Configuration.HostSection 无法 ...
- OpenJudge_cdqz 数据结构版块小结
题目整理 Challenge 0 随机线性存储表-easy Challenge 1 链表数组-easy Challenge 2 可持久化Treap的可持久化运用-hard Challenge 3 ...
- Hidden Password
zoj1729:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=729 题意:就是求字符串的最小表示,模板题. 题解:直接贴模板. ...
- 关于用xercesImpl包解析xml文件遇中文报错问题
今天在运行项目时报错: Caused by: org.apache.xerces.impl.io.MalformedByteSequenceException: 3 字节 UTF-8 序列的字节 3 ...