nyoj 38 布线问题
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=38
最小生成树水题~
代码:
#include "stdio.h" // 最小生成树 Kruskal
#include "string.h"
#include "stdlib.h" #define N 505
#define INF 0x3fffffff
int set[N]; int find(int x){ return set[x]==x?x:find(set[x]); } void Init(int n){ for(int i=1; i<=n; ++i) set[i]=i; } struct node
{
int x,y;
int cost;
}p[N*N]; int cmp(const void *a,const void *b)
{
node *c = (node *)a;
node *d = (node *)b;
return c->cost - d->cost;
} int main()
{
int T;
int n,m;
int i,k;
scanf("%d",&T);
while(T--)
{
scanf("%d %d",&n,&m);
for(i=0; i<m; ++i)
scanf("%d%d%d",&p[i].x,&p[i].y,&p[i].cost);
qsort(p,m,sizeof(p[0]),cmp);
int ans = INF;
for(i=0; i<n; ++i)
{
scanf("%d",&k);
ans = ans<k?ans:k;
}
Init(n);
int fa,fb; for(i=0; i<m; ++i)
{
fa = find(p[i].x);
fb = find(p[i].y);
if(fa==fb) continue;
ans += p[i].cost;
if(fa>fb)
set[fa] = fb;
else
set[fb] = fa;
}
printf("%d\n",ans);
}
return 0;
}
nyoj 38 布线问题的更多相关文章
- NYOJ 38布线问题
http://acm.nyist.net/JudgeOnline/problem.php?pid=38 布线问题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 南阳 ...
- NYOJ 38 布线问题_(解法2 Prim算法)
时间限制:1000 ms | 内存限制:65535 KB 难度:4 描写叙述 南阳理工学院要进行用电线路改造.如今校长要求设计师设计出一种布线方式.该布线方式须要满足下面条件: 1.把全部的楼都供 ...
- nyoj 38 布线问题 Kruskal and Prim
布线问题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件: 1.把所有的 ...
- NYOJ 38 布线问题 (最小生成树 prim)
题目链接 描述 南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件: 1.把所有的楼都供上电. 2.所用电线花费最少 输入 第一行是一个整数n表示有n组测 ...
- NYOJ 38 布线问题_(解法1 Kruskal算法)
时间限制:1000 ms | 内存限制:65535 KB 难度:4 描写叙述 南阳理工学院要进行用电线路改造.如今校长要求设计师设计出一种布线方式,该布线方式须要满足下面条件: 1.把全部的楼都供 ...
- 【待修改】nyoj 38 最小生成树
package nyoj; import java.util.Scanner; public class Main { public static void main(String args[]) { ...
- NYIST OJ 题目38 布线问题
最小生成树水题,先按最小生成树做,答案最后加上最小的从第i号楼接线到外界供电设施所需要的费用即可. #include<cstdio> #include<cstring> #in ...
- nyoj 38 简单并查集的应用&最小生成树
#include<stdio.h> #include<stdlib.h> #define inf 0x3fffffff #define N 600 struct node { ...
- 最小生成树之kruskal方法实现 (java)
今天是个阴天,下了点雨,work ......... 步骤:将所有边排序,然后不断从小到大加上边,这个过程最重要的是避免环的产生,此处用并查集.(nyoj 38) package 最小生成树; imp ...
随机推荐
- 控制器中的Action方法,接收浏览器传过来的参数,总共有几种?
1.根据配置文件中的URL规则 public ActionResult Delete(int id) //id参数就是根据路由里面的参数id来传过来的,这个action方法中的参数一定要和路由中的id ...
- 几种web字体格式
目前,文字信息仍是网站最主要的内容,随着CSS3技术的不断成熟,Web字体逐渐成为话题,这项让未来Web更加丰富多彩的技术拥有多种实现方案,其中之一是通过@font-face属性在网页中嵌入自定义字体 ...
- [CLR via C#]10. 属性
一.无参属性 对于字段,强烈建议将所有的字段都设为private.如果允许用户或类型获取或设置状态信息,就公开一个针对该用途的方法.封装了字段访问的方法通常称为访问器(accessor)方法.访问器方 ...
- WdatePicker.js的使用方法
WdatePicker.js的使用方法 摘自:http://www.cnblogs.com/wuchao/archive/2012/07/19/2599209.html 4. 日期范围限制 静态限制 ...
- Foreach能够循环的本质
我们对foreach循环并不陌生,在C#中我们用得非常多,但是我们是否清楚foreach循环的本质呢? 众所周知,foreach循环能够遍历 数组 ,集合 .但是我们自己定义的一个类是否能够通过fo ...
- 实现GridView翻页并且实现CheckBox选中功能的保持
在GridView与数据库进行绑定后,由得到的数据记录可能有许多条,以至一个页面无法容纳,这时需要进行多页显. 要实现分页显现,只要使用分页类 "PagedDataSource" ...
- How to get the query string by javascript?
http://techfunda.com/Tools/XmlToJson http://beautifytools.com/xml-to-json-converter.php https://www. ...
- 你还记的那一年你我学习的-->>用表组织数据*(数据表)
不知不觉,踏上IT之路,光阴似箭,日月如梭.虽好像回到从前,回到那个无忧无虑的童年,回到那个花样少年的青春;回到那个年少幼稚的小学;回到那个整天幻想的初中;回到那个顽强不屈,誓死不弃的高中;回到那个整 ...
- hadoop2.2.0伪分布式搭建2--安装JDK
2.1上传FileZilla 上传 https://filezilla-project.org/ 2.2解压jdk #创建文件夹 mkdir /usr/java #解压 tar -zxvf jdk-7 ...
- CSS 去掉inline-block元素间隙的几种方法
最近做移动端页面时,经常会用到inline-block元素来布局,但无可避免都会遇到一个问题,就是inline-block元素之间的间隙.这些间隙会导致一些布局上的问题,需要把间隙去掉.对于inlin ...