HDOJ1879(继续畅通工程)

题目链接

最小生成树的题。克鲁斯卡尔算法。

View Code
 1 #include <stdio.h>
 2 #define N 100
 3 #define M 5000
 4 struct node
 5 {
 6     int a,b,d;
 7 }edge[M];
 8 int n;
 9 int p[N];
10 void make_set()
11 {
12     int i;
13     for(i=1;i<=n;i++)   p[i]=i;
14 }
15 int find_set(int i)
16 {
17     return i==p[i]?p[i]:(p[i]=find_set(p[i]));
18 }
19 void union_set(int i,int j)
20 {
21     i=find_set(i),j=find_set(j);
22     p[j]=i;
23 }
24 int cmp(const void *a,const void *b)
25 {
26     return ((struct node*)a)->d-((struct node*)b)->d;
27 }
28 int main()
29 {
30     int i,ans,cnt,x,y,z,f;
31     while(scanf("%d",&n)&&n)
32     {
33         make_set();
34         cnt=0;
35         for(i=0;i<n*(n-1)/2;i++)
36         {
37             scanf("%d%d%d%d",&x,&y,&z,&f);
38             edge[i].a=x,edge[i].b=y,edge[i].d=z;
39             if(f)   union_set(x,y),cnt++;
40         }
41         ans=0;
42         qsort(edge,n*(n-1)/2,sizeof(edge[0]),cmp);
43         for(i=0;cnt<n-1&&i<n*(n-1)/2;i++)
44         {
45             if(find_set(edge[i].a)==find_set(edge[i].b))    continue;
46             ans+=edge[i].d;
47             union_set(edge[i].a,edge[i].b);
48             cnt++;
49         }
50         printf("%d\n",ans);
51     }
52     return 0;
53 }

 

转载于:https://www.cnblogs.com/algorithms/archive/2012/04/20/2459863.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422504.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学不会的JAVA,消不了的忧愁! 1

亲爱的网友&#xff0c;和大家一样&#xff0c;来这里看贴子的&#xff0c;都会有一个共同的地方&#xff0c;那就是对JAVA有着或深或浅的爱好。 或许是我太笨吧&#xff0c;有不少书上明明写着&#xff0c;JAVA是一种很容易学习的编程语言&#xff0c;但我断断续续学过近两年的…

bug是什么PHP,bug是什么

在程序设计中&#xff0c;bug一词&#xff0c;是我们经常听到的&#xff0c;那么bug是什么意思&#xff0c;下面我们来总结一下。什么是bug?在IT中&#xff0c;bug一般表示程序中出现的错误&#xff0c;因为软件运行中出现错误&#xff0c;或者是硬件造成的错误&#xff0c;出…

程序员的十层楼

转自&#xff1a;http://sunfengcheng.iteye.com/blog/326198 自西方文艺复兴以来&#xff0c;中国在自然科学方面落后西方很多&#xff0c;软件领域也不例外。当然现在中国的许多程序员们对此可能有许多不同的意见&#xff0c;有些人认为中国的程序员水平远落后于西方&#xf…

php 渐变色,段落每行渐变色文本效果

这次给大家带来段落每行渐变色文本效果&#xff0c;段落每行渐变色文本效果的注意事项有哪些&#xff0c;下面就是实战案例&#xff0c;一起来看一下。今天小编在Codepen上看到一个CSS写的效果。一个段落的每行文本是渐变效果。对于单行文本或单个词实现渐变填充效果并不是什么…

linux中apache配置文件在哪,linux网站服务Apache的安装与配置方法详解

这篇文章介绍下linux网站服务apache的安装与配置方法&#xff0c;包括挂载光盘&#xff0c;安装http服务&#xff0c;管理httpd服务&#xff0c;httpd的配置文件几大部分。具体详情可以参考下文。1.挂载光盘自己习惯将光盘挂载在/media/cdrom目录&#xff0c;在做本地yum源的时…

mysql数据到导入导出

问题&#xff1a;500M的库表数据&#xff0c;需要导入到新的数据库中。 首先通过控制台进入mysqlmysql -u root -p 12345CREATE DATABASE demo DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;use demo&#xff1b;切换数据库source file.sql 导入数据&#xff0c;这其中…

linux安装数据库依赖包,Linux下安装DB2的包依赖

检查的时候&#xff0c;报包依赖错误&#xff0c;解决办法yum install libaio-0.3.109-13.el7.i686yum install libstdc.so.6yum install pam-devel.i686yum install pam.i686yum whatprovides package-name1.DBT3514W The db2prereqcheck utility failed to find the followi…

SEO笔记—网页结构优化(四)

网页结构优化是页面优化的重点之一&#xff0c;它是对网页内容布局的规划&#xff0c;合理的网页结构能够有效地提高用户体验和搜索引擎的友好性。网页主要包含导航栏、栏目以及正文三部分组成&#xff0c;对网页结构的主要也是围绕这三部分进行的。 1、页面重要区域分布规律 搜…

linux下spi有哪些函数,linux下怎么快速的使用 SPI 驱动。

ek_spi_devices 数组就在本文件内。/** SPI devices.*/static struct spi_board_info ek_spi_devices[] {#if !(defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_AT91)){/* DataFlash chip */.modalias "mtd_dataflash",.chip_select 1,.max_speed_hz 15 * 100…

hasLayout和filter滤镜的细节

filter:alpha(opacity60); IE(<9)透明滤镜失效。 如果我们设置宽度后filter就会有效果&#xff0c;而这个没有设置宽度hasLayout 属性值是0 熟悉haslayout 的都知道&#xff0c;这个表示当前容器不是一个有形体 在IE中filter套用到容器上时&#xff0c;容器必需是「有形体」…

printf函数源码linux,再来一版简易的printf函数实现

以前发过两版简易的串口printf函数实现&#xff0c;最近搞了一段时间Linux的库文件&#xff0c;回过头又有不同的理解。这一版函数基于MSP430F169&#xff0c;%d %x %o %b的实现不再由自己编写函数&#xff0c;而是调用MSP430-GCC的标准库函数&#xff1a;#include char *itoa(…

GTK+ 2.4 or later isn't available

.configure: error: GTK 2.4 or later isnt available, sudo yum install gtk2.0-devel 转载于:https://www.cnblogs.com/greencolor/archive/2012/05/02/2478397.html

linux搭建rabbitmq环境,RabbitMQlinux-centos环境配置

安装erlangyum install -y openssl openssl-devel ncurses-develcurl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash#源码安装wget http://erlang.org/download/otp_src_22.2.tar.gztar -zxvf otp_src_22.2.tar.gz.configure --…

SQL 查询横表变竖表

首先是三张表&#xff0c; CNo对应的是课程&#xff0c;在这里我就粘贴了。 主表 人名表 按照常规查询 SELECT s.SName, c.CName,s2.SCgrade FROM S s INNER JOIN SC s2 ON s2.SNo s.SNo INNER JOIN C c ON c.CNo s2.CNo 那么结果是这样的 但是这是横表 不是我想…

回调方法

http://zhidao.baidu.com/question/152400264.html 在Java中&#xff0c;就是类A调用类B中的某个方法b&#xff0c;然后类B又在某个时候反过来调用类A中的某个方法a&#xff0c;对于A来说&#xff0c;这个a方法便叫做回调方法pubilc interface CallBack{ public void callba…

linux如何获取声卡信息,ubuntu下怎么查看声卡型号?

在Ubuntu上查看声卡型号执行如下命令&#xff1a;~# lspci |grep -i audio~/WorkSpace/mobvoi_test$ lspci |grep -i audio02:02.0 Multimedia audio controller: Ensoniq ES1371 / Creative Labs CT2518/ES1373 (rev 02)1、查看声卡信息~# cat /proc/asound/cards/WorkSpace/m…

linux错误日志重定向,Linux shell 重定向标准错误输出

文件描述符文件描述符是程序发送输出和获取输入的地方。当执行一个程序时&#xff0c;运行该程序的进程打开了3个文件描述符&#xff0c;分别是&#xff1a;0(标准输入)、1(标准输出)和2(标准错误输出)。重定向输出符号(>)是1>的简写&#xff0c;它通知shell重定向标准输…

linux apache中文名称图片,Apache、NGINX支持中文URL图片、文件名的终极解决方案

本帖最后由 vzandy 于 2013-3-15 15:40 编辑Apache(32位)&#xff1a;安装环境&#xff1a;CentOS 5.6 Apache 2.2.15安装结果&#xff1a;安装后支持“中文图片、文件名”链接直接打开以下为安装过程&#xff1a;1、下载安装包wget ftp://ftp.aconus.com/fc5/mod_encoding/mo…

公式中表达单个双引号【】和空值【】的方法及说明

有人问为什么不用三个双引号"""来表示单个双引号【"】呢&#xff0c;如果用三个双引号来表示的话&#xff0c;也就是"""&#xff0c;那么Excel会很困惑&#xff0c;因为你给她出了一道难题&#xff0c;这个"""是""…

东芝笔记本linux系统安装驱动,笔记本驱动,详细教您东芝笔记本无线网卡驱动怎么安装...

在品牌的笔记本电脑中&#xff0c;使用东芝笔记本的用户都知道&#xff0c;东芝笔记本电脑具有十分鲜明的特色&#xff0c;其产品十分注重细节与工艺&#xff0c;为用户带去了不错的使用体验。那么如果要下载安装无线网卡驱动&#xff0c;该怎么操作呢&#xff1f;下面&#xf…