布线问题

描述:
南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件:
1、把所有的楼都供上电。
2、所用电线花费最少
输入:
第一行是一个整数n表示有n组测试数据。(n<5)
每组测试数据的第一行是两个整数v,e.
v表示学校里楼的总个数(v<=500)
随后的e行里,每行有三个整数a,b,c表示a与b之间如果建铺设线路花费为c(c<=100)。(哪两栋楼间如果没有指明花费,则表示这两栋楼直接连通需要费用太大或者不可能连通)
随后的1行里,有v个整数,其中第i个数表示从第i号楼接线到外界供电设施所需要的费用。( 0<e<v*(v-1)/2 )
(楼的编号从1开始),由于安全问题,只能选择一个楼连接到外界供电设备。
数据保证至少存在一种方案满足要求。
输出:
每组测试数据输出一个正整数,表示铺设满足校长要求的线路的最小花费。
样例输入:
1
4 6
1 2 10
2 3 10
3 1 10
1 4 1
2 4 1
3 4 1
1 3 5 6
样例输出:
4

程序代码:

#include<stdio.h>
#include<string.h>
int e[510][510],dis[510],book[510];
int inf=99999999;
int main()
{int t,m,n,a,b,c,min,i,j,k,count,sum;scanf("%d",&t);while(t--){sum=0;count=0;memset(book,0,sizeof(book));scanf("%d%d",&m,&n);for(i=1;i<=m;i++)for(j=1;j<=m;j++){if(i==j)e[i][j]=0;elsee[i][j]=inf;}     for(i=1;i<=n;i++){scanf("%d%d%d",&a,&b,&c);e[a][b]=c;e[b][a]=c;}for(i=1;i<=m;i++)dis[i]=e[1][i];book[1]=1;count++;while(count<m){min=inf;for(i=1;i<=m;i++)if(book[i]==0&&dis[i]<min){min=dis[i];j=i;}book[j]=1;sum+=min;count++;for(k=1;k<=m;k++)if(book[k]==0&&e[j][k]<dis[k])dis[k]=e[j][k];}min=inf;for(i=0;i<m;i++){scanf("%d",&n);if(n<min)min=n;}printf("%d\n",sum+min);    }return 0;
}

NYOJ-布线问题(最短路)相关推荐

  1. 信号完整性(SI)电源完整性(PI)学习笔记(二十)传输线的串扰(四)

    传输线的串扰(四) 1.防护布线. -100dB指出现在敏感静态线的噪声值小于动态信号的0.001%. 2.隔离两条走线的行之有效的办法是使他们在有不同返回路径的层上布线.防护布线是位于攻击线和带屏蔽 ...

  2. ZigBee无线抄表系统集中器设计

    0 引言 随着城市居民住宅建设日益发展,独立电能表数量迅速增多,抄表计量也日趋复杂.近年来用电形势越来越紧张,分时电价已势在必行.由于长距离室内外的布线存在着短路.断线隐患,错综复杂的线路使系统调试和 ...

  3. nyoj 307(最短路变形)

    解题思路:这道题和上一道题一样,也是最短路的变形,我之前的想法是二分答案,然后再dp去判断是否可以满足要求,但发现这样子的话会存在问题:因为一条路可能走多次,就无法保证其后效性. 看了别人的思路:先以 ...

  4. NYOJ 38 布线问题

    布线问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件: 1.把所有的 ...

  5. 【POJ - 1062】【nyoj - 510】昂贵的聘礼 (Dijkstra最短路+思维)

    题干: 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低要求.酋长说:& ...

  6. 什么电线适合在面包板上布线?

    简 介: 对于面包板布线所使用的导线种类.颜色.长度以及耐用性进行讨论.也许没有一个十全十美的选择方案,需要根据情况而定.对于学生来讲,由于电路内容需要经常更换,所以使用双公头的杜邦线比较适合完成实验 ...

  7. 经验分享:布线测试关键步骤有哪些 ?

    我们都知道在布线完成之后都免不了布线测试这一环节,但是常常会被忽略几个布线测试关键步骤.今天小编就来说说布线测试关键步骤有哪些. 布线测试关键步骤有哪些:通断测试是基础 通断测试是测试的基础,是对线路 ...

  8. 综合布线管理系统之智能配线架的过去与将来

    在综合布线管理系统中,智能配线架的使用已经越来越广泛了.电子配线架,即智能配线架,(编者注:下文简称"电配")发展到今天大概有十几年了.它的架构有哪些,连接方式分几种,实现检测的技 ...

  9. Altium Designer -- PCB布线面试题(转)

    这套面试题,是N年前面试的时候遇到的,贴出来共享一下.它的回答可能不太准确,只作参考即可. 参看:PCB布线面试题(一) 1.如何处理实际布线中的一些理论冲突的问题 问:在实际布线中,很多理论是相互冲 ...

  10. PCB设计检查表( 布局后检查一次 ; 布线完再检查一次 )

    一.确保PCB网表与原理图描述的网表一致 二.布局大致完成后需检查 外形尺寸 确认外形图是最新的 确认外形图已考虑了禁止布线区.传送边.挡条边.拼板等问题 确认PCB 模板是最新的 比较外形图,确认P ...

最新文章

  1. 关于win8/win8.1系统不能调节亮度的解决办法
  2. 通过mtd读写flash_敏矽微电子Cortex-M0学习笔记11-FLASH存储器
  3. python3异步协程爬虫,simpyder
  4. 微博计数:从关系服务到访问计数, Redis 持续优化支撑万亿级访问(含 PPT)
  5. 39. 恢复旋转排序数组
  6. php date 加30分钟,PHP date函数常用时间处理方法
  7. 硬盘(U盘)被误格式化(删除),重要的文件如何恢复?
  8. 计算机学报Latex模板运行出错解决
  9. Lingoes 一款功能强大、简明易用的多语言词典和文本翻译软件
  10. Python手游辅助教程之战双帕弥什脚本教程
  11. MFC中资源视图中对话框大小和实际像素尺寸显示问题
  12. 博客美化——页面白天黑夜切换
  13. 《流媒体服务器》专栏总览丨蓄力计划
  14. Windows无法连接到打印机怎么办?快收藏这些正确做法!
  15. 跟李沐学深度学习-softmax回归
  16. springboot RabbitMQ整合出现Reply received after timeout 异常
  17. SSH密钥登录系统报错Permissions 0644 for ‘xxx‘ re too open
  18. 最新最全的非常有趣的逻辑推理题目大全
  19. CSP - J 2020 T2 直播获奖
  20. Wireshark的提示

热门文章

  1. string与wstring互转
  2. 淘宝MySQL十大经典案例pdf
  3. Python面向对象进阶和socket网络编程
  4. Portal for ArcGIS 资源承载数据类型
  5. MySQL性能优化(来源于简书)
  6. 新秀发挥云17号:RHEL改变以太网地址克隆虚拟机后,
  7. locate: command not found updatedb: command not found
  8. IDEA设置注释配置时获取不到参数的解决办法
  9. 定义druid工具类
  10. 06-10 Jenkins 配置 allure 报告