hdu1233
http://acm.hdu.edu.cn/showproblem.php?pid=1233
最小生成树,kruskal算法
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
const int N=;
struct stu{
int u;
int v;
int w;
}p[N];
int n,m;
int father[N]; int cmp(const void *a,const void *b)
{
return (*(struct stu*)a).w > (*(struct stu*)b).w?:-;
}
int find(int x)
{
if(father[x]!=x)
father[x]=find(father[x]);
return father[x];
}
int make(int a,int b)
{
int f1=find(a);
int f2=find(b);
if(f1!=f2)
{
father[f2]=f1;
return ;
}
return ;
}
int kruskal()
{
int cns=,k=;
for(int i=;i<m;i++)
{
if(make(p[i].u,p[i].v))
{
cns+=p[i].w;
k++;
}
if(k==n-)
return cns;
}
return cns;
} int main()
{
while(~scanf("%d",&n))
{
if(!n)
break;
m=n*(n-)/;
for(int i=;i<=n;i++)
father[i]=i;
for(int i=;i<m;i++)
{
scanf("%d%d%d",&p[i].u,&p[i].v,&p[i].w);
}
qsort(p,m,sizeof(struct stu),cmp);
printf("%d\n",kruskal()); }
return ;
}
hdu1233的更多相关文章
- HDU1233(Kruskal&Prim两解)
https://vjudge.net/problem/HDU-1233 还是畅通工程 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以 ...
- 还是畅通工程[HDU1233]
还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- HDU-1233 还是畅通工程
Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能 ...
- 暑假集训(3)第一弹 -----还是畅通工程(hdu1233)
题意梗概:N(n<100)个村子想要富起来,自然就要先修路,不过到底还是没富起来,所以陷入了一个怪圈 :资金不足->修不起路->资金不足...... 为了实现走向全民小康社会,全面实 ...
- HDU-1233 还是畅通工程 (prim 算法求最小生成树)
prim 算法求最小生成树 还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- hdu1233(最小生成树)
Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能 ...
- 【HDU1233】还是畅通工程(MST基础题)
无坑,裸题.直接敲就恩那个AC. #include <iostream> #include <cstring> #include <cstdio> #include ...
- 【模板】HDU--1233 畅通工程
省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的若干 ...
- 最小生成树入门(克鲁斯卡尔+普利姆 hdu1233)
克鲁斯卡尔 #include <set> #include <map> #include <queue> #include <stack> #inclu ...
随机推荐
- 前端工程搭建NodeJs+gulp+bower
需要node.npm的事先安装!! 1.nodejs安装程序会在环境变量中添加两个变量: 系统环境变量中:path 增加C:\Program Files\nodejs\ 因为在该目下存在node.ex ...
- 解决Discuz“完善用户资料”任务不能完成的问题
最近用 Discuz X3.2 搭建了个论坛,在测试过程中发现"完善用户资料"这个官方自带的任务有个Bug,将所有的资料都填写完成后,任务仍然无法完成,而且没有明确提示有哪些项目没 ...
- 解析php开发中的中文编码问题
其实php开发中的中文编码并没有想像的那么复杂,虽然定位和解决问题没有定规,各种运行环境也各不尽然,但后面的原理是一样的. 了解字符集的知识是解决字符问题的基础. PHP程序设计中中文编码问题曾经困扰 ...
- oracle 存储过程编辑 卡死
一.可用SYS登录, 二.查锁session_ID查找存储过程OPERATIONDATA_IMP被哪些session锁住而无法编译select * FROM dba_ddl_locks where n ...
- 【nodejs】关于 alert 和 document
Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation.保留所有权利. C:\Windows\system32>n ...
- AVPlayer的基本使用
2014-5-7 06:46| 发布者: admin| 查看: 437| 评论: 0 摘要: 在iOS开发中,播放视频通常有两种方式,一种是使用MPMoviePlayerController(需要 ...
- vs2013中头文件中大小写的切换的快捷键
1.选中内容 2.ctrl+shift+u 例如: #include "LayerStart.h" -> #include "LAYERSTART.H&q ...
- Django 学习笔记之五 Django中数据库中ManyToManyField及ForeignKey
1.model里面的代码: from __future__ import unicode_literalsimport django.utils.timezone as timezonefrom dj ...
- Reference in the manifest does not match the identity of the downloaded assembly
solution 1 :http://stackoverflow.com/questions/5337458/error-deploying-clickonce-application-referen ...
- dede首页调用栏目内容{dedefield.content}的方法
Dedecms的功能确实很强大,但是dedecms的全局变量有字节限制,使得我们在使用dedecms制作企业站的时候,首页无法调用大段大段的企业站. 其实dedecms还有另外一种调用大段内容的方法, ...