继续畅通project

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 17814    Accepted Submission(s): 7669

Problem Description
省政府“畅通project”的目标是使全省不论什么两个村庄间都能够实现公路交通(但不一定有直接的公路相连,仅仅要能间接通过公路可达就可以)。

现得到城镇道路统计表,表中列出了随意两城镇间修建道路的费用,以及该道路是否已经修通的状态。

现请你编敲代码,计算出全省畅通须要的最低成本。

 
Input
測试输入包括若干測试用例。每一个測试用例的第1行给出村庄数目N ( 1< N < 100 )。随后的 N(N-1)/2 行相应村庄间道路的成本及修建状态。每行给4个正整数,各自是两个村庄的编号(从1编号到N),此两村庄间道路的成本,以及修建状态:1表示已建,0表示未建。

当N为0时输入结束。

 
Output
每一个測试用例的输出占一行。输出全省畅通须要的最低成本。

 
Sample Input
3
1 2 1 0
1 3 2 0
2 3 4 0
3
1 2 1 0
1 3 2 0
2 3 4 1
3
1 2 1 0
1 3 2 1
2 3 4 1
0
 
Sample Output
3
1
0
在考虑这道题,已经修过的路要不要用的时候,细致一想,既然修过了,让她变成花费的钱变成0不久ok了,然后就过了.、 附ac代码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct node
{
int start;
int end;
int cost;
} t[10010];
int cmp(node a,node b)
{
return a.cost <b.cost ;
}
int per[110];
int find(int x)
{
int r=x;
while(r!=per[r])
r=per[r];
return r;
}
int join(int x,int y)
{
int fx=find(x);
int fy=find(y);
if(fx!=fy)
{
per[fx]=fy;
return 1;
}
return 0;
}
int main()
{
int n,m,i,flag;
while(scanf("%d",&n),n)
{
for(i=1;i<110;i++)
per[i]=i;
m=n*(n-1)/2;
for(i=0;i<m;i++)
{
scanf("%d%d%d%d",&t[i].start,&t[i].end,&t[i].cost,&flag);
if(flag)//除了这里跟上一个一模一样.
t[i].cost=0;
}
sort(t,t+m,cmp);
int sum=0;
for(i=0;i<m;i++)
{
if(join(t[i].start,t[i].end))
sum=sum+t[i].cost;
}
printf("%d\n",sum);
}
return 0;
}

杭电1879继续畅通project的更多相关文章

  1. 杭电1233还是畅通project

    还是畅通project Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  2. hdu 1879 继续畅通project

    本题链接:pid=1879http://">点击打开链接 本题大意: 输入n行数据.每行数据前两个表示该条路连通的两个村庄的编号,第三个表示修该条路的成本.最后的0或1表示该路未修或已 ...

  3. ACM-最小生成树之继续畅通project——hdu1879

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/lx417147512/article/details/27092583 ************** ...

  4. 畅通project(杭电1863)

    畅通project Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. 杭电1874畅通project绪

    畅通project续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  6. 畅通project(杭电1232)

    畅通project Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  7. 杭电1863 畅通project

    畅通project Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  8. 杭电1232畅通project

    畅通project Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  9. 畅通project续HDU杭电1874【dijkstra算法 || SPFA】

    http://acm.hdu.edu.cn/showproblem.php?pid=1874 Problem Description 某省自从实行了非常多年的畅通project计划后.最终修建了非常多 ...

随机推荐

  1. selenium3 + python - select定位

    一.Select模块(index)     1.导入Select模块.直接根据属性或索引定位     2.先要导入select方法:from selenium.webdriver.support.se ...

  2. js中 if不判断解决方式

    $(function() { $("#number").blur(function() { var number = $('#number').val(); var num = $ ...

  3. PHP无限级分类实现(递归+非递归)

    <?php /** * Created by PhpStorm. * User: qishou * Date: 15-8-2 * Time: 上午12:00 */ //准备数组,代替从数据库中检 ...

  4. 前端Canvas思维导图笔记

    看不清的朋友右键保存或者新窗口打开哦!喜欢我可以关注我,还有更多前端思维导图笔记

  5. js基础标签用法

    js是脚本语言,开始标签<script type="text/javascript">.......结束标签</script>.script通常放在< ...

  6. C#—接口和抽象类的区别?

    一.接口 接口是指对协定进行定义的引用类型,其他类型实现接口,以保证它们支持某些操作.接口指定必须由类提供的成员或实现它的其他接口.与类相似,接口可以包含方法.属性.索引器和事件作为成员. 1.接口存 ...

  7. react性能调谐与diff算法

    一个页面其实就相当于是一颗dom树,里面有很多它的子节点,然后你每次去操作一个事件,它都会生成一个虚拟dom,它会跟上一个虚拟dom进行比对,这里运用的算法叫做diff算法,当它找到需要改变的组件的时 ...

  8. 【转载】IDEA的这八条配置你一定要改!

    引言 坦白说,我很少写这种操作类型的文章.因为这种文章没啥新意,大家操作步骤肯定是一样的.然而,我答应了我的同事小阳,给她出一篇!毕竟人家打算从Eclipse转IDEA了,于是以示鼓励,写一篇给她!那 ...

  9. IDEA中使用Database管理工具

    以下内容来自我的知乎回答IntelliJ IDEA中有什么让你相见恨晚的技巧? 说个冷门的,用IDEA操作数据库. 可能大部分不知道,IDEA是自带数据库管理工具的,类似于一个小型Navicat. 具 ...

  10. 域名IP绑定

    该文为阿里云域名举例 首先具备3个前提: 买服务器并搭建环境:阿里云官网购买阿里云的服务器(我购买的是window系统,ECS服务器). 在自己的云服务器上布置上jdk,配置环境变量:安装上tomca ...