最小生成树prim算法———模板
codevs.cn 最優布線問題
#include<cstdio>
#include<cstring>
bool u[101];
int g[101][101],minn[101];
int main()
{
int n,m,q,p,total=0;
scanf("%d%d",&n,&m);
for (int i=1;i<=m;i++)
{
? scanf("%d%d",&q,&p);
? scanf("%d",&g[q][p]);
}
memset(minn,0x7f,sizeof(minn)); ? //初始化
minn[1]=0;
memset(u,1,sizeof(u));
for (int i=1;i<=n;i++)
{
? int k=0;
? for (int j=1;j<=n;j++)
? if (u[j]&&(minn[j]<minn[k]))
? ? ?k=j;
? u[k]=false;
? for (int j=1;j<=n;j++)
? ? ?if (u[j]&&(g[k][j]<minn[j]))
? minn[j]=g[k][j];
}
for (int i=1;i<=n;i++)
? total=total+minn[i];
printf("%d",total);
return 0;
}
轉載于:https://www.cnblogs.com/xiaoqi7/p/5084143.html
總結
以上是生活随笔為你收集整理的最小生成树prim算法———模板的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机学院大学生程序设计竞赛(2015’
- 下一篇: 循序渐进看Java web日志跟踪(1)