46
来源:互联网 发布:thinkpad x系列 知乎 编辑:程序博客网 时间:2024/04/29 07:09
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define MAXN 0x7fffffffint a[505];int graph[505][505];int lowcost[505];int visited[505];int v;int prim(){ int sum=0; memset(visited,0,sizeof(visited)); visited[1]=1; for(int i=2;i<=v;i++) lowcost[i]=graph[1][i]; for(int j=2;j<=v;j++){ int mi=MAXN,minid=0; for(int i=2;i<=v;i++) if(lowcost[i]<mi&&visited[i]!=1){ mi=lowcost[i]; minid=i; } visited[minid]=1; sum+=mi; for(int i=1;i<=v;i++){ if(graph[minid][i]<lowcost[i]) lowcost[i]=graph[i][minid]; }}return sum;}int main(){ int n,x,y,e,cost; scanf("%d",&n); while(n--){ scanf("%d%d",&v,&e); for(int i=1;i<=v;i++) for(int j=1;j<=v;j++) graph[i][j]=MAXN; for(int i=1;i<=e;i++){ scanf("%d%d%d",&x,&y,&cost); graph[x][y]=cost; graph[y][x]=cost; } for(int i=1;i<=v;i++) scanf("%d",&a[i]); sort(a+1,a+v+1); printf("%d\n",prim()+a[1]);}}
0 0
- 46
- 46
- 46
- 46
- 练习46
- Problem 46
- 练习46
- nyoj-46
- 46-按位取反
- 46WYYHRTFGSEDFGEDHGRTYERTY
- 46dn534
- 46 Permutations
- 三++46
- P124.46
- 3-46
- P124.46
- 3-46
- Leetcode#46||
- 微软创新杯山东省赛成功举办
- apachectl 和 httpd的关系
- ASP.NET 设置DropDownList选中项
- Android性能测试小工具Emmagee
- hdu1711 Number Sequence
- 46
- 有关统计单词频率的算法c语言实现
- sqlite操作实例
- cabs
- oracle连接函数
- Java多线程编程
- zoj 2928 Mathematical contest in modeling
- 8.GUI设计概述 java
- WPF之DataGrid用法(一)