nyoj_38_布线问题_201403121753
布线问题
- 描述
- 南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件:
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 <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; int map[][],vis[],low[];
int n;
int prim()
{
int i,j,pos,min,sum=;
memset(low,,sizeof(low));
memset(vis,,sizeof(vis));
vis[]=;pos=;
for(i=;i<=n;i++)
if(i!=pos)
low[i]=map[pos][i];
for(i=;i<n;i++)
{
min=;
for(j=;j<=n;j++)
{
if(!vis[j]&&low[j]<min)
{
min=low[j];
pos=j;
}
}
sum+=min;
vis[pos]=;
for(j=;j<=n;j++)
{
if(vis[j]==&&low[j]>map[pos][j])
low[j]=map[pos][j];
}
}
return sum;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int i,j,m,v,e,c;
int s[];
memset(map,,sizeof(map));
memset(s,,sizeof(s));
scanf("%d %d",&n,&m);
//if(n==0&&m==0)
//{
// printf("0\n");
// continue;
//}
for(i=;i<=n;i++)
for(j=;j<=n;j++)
map[i][j]=map[j][i]=;
for(i=;i<m;i++)
{
scanf("%d %d %d",&v,&e,&c);
map[v][e]=map[e][v]=c;
}
for(i=;i<n;i++)
scanf("%d",&s[i]);
sort(s,s+n);
printf("%d\n",prim()+s[]);
}
return ;
}
//prim算法
//初始化时没有把 vis数组清零导致 wa
nyoj_38_布线问题_201403121753的更多相关文章
- 电子线路 PCB 中大电流 接口 和 布线问题;
问题1:电流 大小 和 PCB 中 布线线宽的 关系,电源和信号 稳定性? 问题2:大电流中 接口问题,如microUSB 充电接口中,2A等 快充时接口 会 发热,如果 接口的 布线 太细和 不妥善 ...
- Altium Designer之AD16在Win10系统下无法切换走线/布线模式的解决办法
有些童鞋会在Win10下使用AD16的时候发现,走线模式/布线模式(切换直角,45°,弧形等)不能切换. 问题出在输入法上,一般是切换到英文输入法即可解决,但是有一种情况是win10系统自带输入法有时 ...
- ad bga扇出 和群组布线
本文关于如何快速规范的bga布线和扇出做笔记 目的:layout一个ili的3+1的控制板.把线距控制在4mil 这样可以节约制造成本. 问题:需要大改布局.尤其是bga扇出和通道连接的问题. 细节: ...
- Gulp解决发布线上文件(CSS和JS)缓存问题
Gulp解决发布线上文件(CSS和JS)缓存问题 本文的缘由:目前经常线上发布文件后要不断的刷新页面及过很长时间,页面上的CSS和JS文件才能生效,特别对于目前做微信商城的时候,微信内置的浏览器缓存非 ...
- 如何对ZBrush中面部进行快速布线
面部布线的最重要目的是为了表情动画.人物内心的各种不同的心里活动,主要是通过面部表情反映出来.而面部变化最丰富的地方是眼部(眉毛)和口 部,其他部位则相应的会受这两部分的影响而变化.对于面部表情,必须 ...
- NYOJ 38布线问题
http://acm.nyist.net/JudgeOnline/problem.php?pid=38 布线问题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 南阳 ...
- 23.allegro中自动布线[原创]
1. --- 方法①:选择网络自动布线 -- --- 已经步好: --- 方法②: ---- ---- 布线: --- 方法③: -- ----
- 关于PCB布线的顺序到底是怎样才合理?
有人说先布好电源线和地线,让它们尽量靠近走,然后再考虑信号线:也有人说先布好关键的信号线,然后再走电源和地线:还有人说先布好电源线,再布信号线,地线最后布.到底怎么样才算好呢?或者说,一般应按照什么顺 ...
- NYOJ 38 布线问题_(解法2 Prim算法)
时间限制:1000 ms | 内存限制:65535 KB 难度:4 描写叙述 南阳理工学院要进行用电线路改造.如今校长要求设计师设计出一种布线方式.该布线方式须要满足下面条件: 1.把全部的楼都供 ...
随机推荐
- Hadoop 的使用
hadoop:hadoop启动:./sbin/start-dfs.shhadoop关闭:./sbin/stop-dfs.shbin文件用于在HDFS创建数据HDFS 中创建用户目录:./bin/hdf ...
- 浅谈IO优化
三层结构 磁盘(存储).VM(卷管理)和文件系统.专有名词不好理解,打个比方说:磁盘就相当于一块待用的空地:LVM相当于空地上的围墙(把空地划分成多个部分):文件系统则相当于每块空地上建的楼房(决定了 ...
- Ruby 遍历多个数组
puts("----------------------------------------") puts(" 多重指定 test") ...
- E20170623-ts
filter n. 滤波器; 滤光器; 滤色镜; [化] 过滤器; mass n. 大量,大多; 块,堆,团; [物理学] 质量; 弥撒曲; assignment n. 分给,分配; 任务, ...
- ORA-00907: 缺失右括号问题或com.alibaba.druid.sql.parser.ParserException: TODO :IDENTIFIER的原因
以上只是说明错误的原因的一种.
- Java高质量20问
问题一:在多线程环境中使用HashMap会有什么问题?在什么情况下使用get()方法会产生无限循环? HashMap本身没有什么问题,有没有问题取决于你是如何使用它的.比如,你在一个线程里初始化了一个 ...
- 【知识总结】线性筛_杜教筛_Min25筛
首先感谢又强又嘴又可爱脸还筋道的国家集训队(Upd: WC2019 进候选队,CTS2019 不幸 rk6 退队)神仙瓜 ( jumpmelon ) 给我讲解这三种筛法~~ 由于博主的鸽子属性,这篇博 ...
- PHP网站 通过js方式判断是否是手机访问,若是 跳转到手机版网址!
<script type="text/javascript" src="http://i3.dukuai.com/ui/js/jquery-1.32pack.js& ...
- [转]android-学习笔记之按钮事件
本文转载自: http://zhangkun716717-126-com.iteye.com/blog/761080 前备知识: 1.需要了解怎么得到界面元素. 那么如何得到界面元素呢?在界面配置文件 ...
- centos安装composer以及使用国内镜像
下载composer.phar文件 curl -sS https://getcomposer.org/installer | php 将composer.phar移动到环境变量中并且更名为compos ...