nyoj-38-布线问题
来源:互联网 发布:全民公敌里卫星 知乎 编辑:程序博客网 时间:2024/05/16 13:50
#include<stdio.h>
#define M 100000
int map[503][503];
int v,sum;
void prim()
{
int used[503]={0},dis[503]={0};
int i,j,k,min;
sum=0;
for(i=1;i<=v;i++)
dis[i]=map[1][i];
for(i=2;i<=v;i++)
{
min=M;
for(j=2;j<=v;j++)
if(min>dis[j]&&used[j]==0)
{
min=dis[j];
k=j;
}
sum+=min;
used[k]=1;
for(j=1;j<=v;j++)
if(used[j]==0&&dis[j]>map[k][j])
dis[j]=map[k][j];
}
}
int main()
{
int s,e;
scanf("%d",&s);
while(s--)
{
int i,j,a,b,c,t,min=M;
scanf("%d%d",&v,&e);
for(i=1;i<=v;i++)
for(j=1;j<=v;j++)
map[i][j]=M;
for(i=0;i<e;i++)
{
scanf("%d%d%d",&a,&b,&c);
map[a][b]=map[b][a]=c;
}
for(i=0;i<v;i++)
{
scanf("%d",&t);
if(min>t)
min=t;
}
prim();
printf("%d\n",sum+min);
}
return 0;
}
- NYOJ 38 布线问题
- nyoj 38 布线问题
- nyoj-38-布线问题
- nyoj-38-布线问题
- Nyoj 38 布线问题
- nyoj 38 布线问题
- NYOJ 38 布线问题
- nyoj 38 布线问题
- NYOJ 38 布线问题
- nyoj--38--布线问题
- NYOJ 38 布线问题
- NYOJ 38 布线问题
- nyoj 38布线问题
- nyoj 38 布线问题
- NYOJ 38 布线问题
- NYOJ 38 布线问题
- NYOJ 38 布线问题
- NYOJ - 38 布线问题
- 【Qt编程】Qt学习之窗口间的相互切换
- sql having, not exists
- 深入java字符串原理及其效率分析
- lightoj 1289 LCM from 1 to n
- Android关键资源详解
- nyoj-38-布线问题
- 1. Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动
- 9.10 QT VS2010 Opencv图像界面程序
- “分治法”排序的过程
- Java应用级产品开发平台APDPlat
- ApiDemos之activity recreate方法
- hello world by OpenGL
- 九度 1208 十进制VS二进制
- 根据combobox选择的index来获取值