布线问题

时间限制:1000 ms  |  内存限制:65535 KB
难度:4
 
描述
南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件:
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>
const int MAXN=;
#define MIN(x,y)(x<y?x:y)
const int INF=0x3f3f3f3f;
int map[MAXN][MAXN];
int low[MAXN],vis[MAXN];
int ans;
int out[MAXN];
//int usd[MAXN];
int N;
void prim(){
memset(vis,,sizeof(vis));
// memset(usd,0,sizeof(usd));
vis[]=;
for(int i=;i<=N;i++)low[i]=map[][i];
for(int i=;i<=N;i++){
int temp=INF,k;
for(int j=;j<=N;j++)
if(!vis[j]&&low[j]<temp)temp=low[k=j];
if(temp==INF)break;
//if(out[k]<temp)ans+=out[k],usd[k]=1;
//else
ans+=temp;
vis[k]=;
for(int j=;j<=N;j++)
low[j]=MIN(low[j],map[k][j]);
}int temp=INF;
for(int i=;i<=N;i++){
//if(usd[i])continue;
temp=MIN(temp,out[i]);
}
//if(temp==INF)temp=0;
printf("%d\n",ans+temp);
}
int main(){
int n,e,a,b,c;
scanf("%d",&n);
while(n--){
ans=;
memset(map,INF,sizeof(map));
scanf("%d%d",&N,&e);
while(e--){
scanf("%d%d%d",&a,&b,&c);
if(c<map[a][b])map[a][b]=map[b][a]=c;
}
for(int i=;i<=N;i++)scanf("%d",&out[i]);
prim();
}
return ;
}

布线问题(prime)的更多相关文章

  1. nyoj 38 布线问题 Kruskal and Prim

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

  2. Java 素数 prime numbers-LeetCode 204

    Description: Count the number of prime numbers less than a non-negative number, n click to show more ...

  3. Prime Generator

    Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate ...

  4. POJ 2739. Sum of Consecutive Prime Numbers

    Sum of Consecutive Prime Numbers Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 20050 ...

  5. UVa 524 Prime Ring Problem(回溯法)

    传送门 Description A ring is composed of n (even number) circles as shown in diagram. Put natural numbe ...

  6. 电子线路 PCB 中大电流 接口 和 布线问题;

    问题1:电流 大小 和 PCB 中 布线线宽的 关系,电源和信号 稳定性? 问题2:大电流中 接口问题,如microUSB 充电接口中,2A等 快充时接口 会 发热,如果 接口的 布线 太细和 不妥善 ...

  7. Sicily 1444: Prime Path(BFS)

    题意为给出两个四位素数A.B,每次只能对A的某一位数字进行修改,使它成为另一个四位的素数,问最少经过多少操作,能使A变到B.可以直接进行BFS搜索 #include<bits/stdc++.h& ...

  8. hdu 5901 count prime & code vs 3223 素数密度

    hdu5901题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5901 code vs 3223题目链接:http://codevs.cn/problem ...

  9. 最小生成树 prime zoj1586

    题意:在n个星球,每2个星球之间的联通需要依靠一个网络适配器,每个星球喜欢的网络适配器的价钱不同,先给你一个n,然后n个数,代表第i个星球喜爱的网络适配器的价钱,然后给出一个矩阵M[i][j]代表第i ...

随机推荐

  1. Delphi下URL汉字编码解码的两个函数

    //汉字URL编码函数function URLEncode(const S: string; const InQueryString: Boolean): string;var  Idx: Integ ...

  2. docker 容器管理上

    Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: docker start container_id //启动容器后,可以使用 ...

  3. res://ieframe.dll/acr_error.htm 纯手动解决方法

    res://ieframe.dll/acr_error.htm 引起这个原因的是,你IE浏览器的扩展组件的问题,因为不知道是具体哪个组件出了问题,所以要采用一刀切的方法来处理: 在开始/或开始键+R, ...

  4. ios模拟器安装.app

    相对于xcode的run,然后再在安装到模拟器上测试,如果是个人开发的话,那还好. 要是是团队开发,那每次其他的童鞋就都需要update最新的文件下来再编译运行了. 而且,一些测试的童鞋也不会打开xc ...

  5. android listview 三种适配器设置

    1: public class ArrayAdapterActivity extends ListActivity { @Override public void onCreate(Bundle sa ...

  6. kobox: key_proc.c -v1 怎样使用proc文件系统调试驱动

    使用proc文件系统能够非常方便调试驱动.查看驱动中的一些数据 平台:TQ2440 系统版本号: root@ubuntu:/mnt/shared/kobox# uname -a Linux ubunt ...

  7. extern外部方法使用C#简单样例

    外部方法使用C#简单样例 1.添加引用using System.Runtime.InteropServices; 2.声明和实现的连接[DllImport("kernel32", ...

  8. [Phonegap+Sencha Touch] 移动开发36 Phonegap/Cordova项目的图标和启动画面(splashscreen)配置

    原文地址:http://blog.csdn.net/lovelyelfpop/article/details/40780111 Phonegap/Cordova项目中的config.xml文件.里面配 ...

  9. ADT Example

    Example Data Types: Integer, and Character Example (Integer Data Type) The integer data type can con ...

  10. 自定义ASP.NET WebApplication中调用SharePoint2010的对象

    如果你是做SharePoint开发的话,一定不会对如下这段代码陌生: using(SPSite oSiteCollection = new SPSite("http://Server_Nam ...