poj 2377Bad Cowtractors
来源:互联网 发布:网络电视怎么看电视台 编辑:程序博客网 时间:2024/05/31 18:39
#include<stdio.h>#include<string.h>const int INF = 0x3f3f3f3f;const int maxn = 1e3;int mp[maxn][maxn]; // 存图; int vis[maxn]; //是否在新图内; int dis[maxn]; //第i个顶点到新图最短距离; int prim(int n);int n,m;int main (){int cun1,cun2,cost,ans = 0;while (scanf("%d%d", &n, & m) != EOF && n != 0){memset(mp,0,sizeof(mp));for (int i = 0; i < m; i++){scanf("%d%d%d", &cun1,&cun2,&cost);cun1--;cun2--;if(cost > mp[cun1][cun2]) {mp[cun1][cun2] = cost;mp[cun2][cun1] = cost;}}ans = prim(n);printf("%d\n",ans);}}int prim(int n){int ans = 0;memset(vis,0,sizeof(vis));vis[0] = 1; //注意第一个点的初始化; for (int i = 0; i < n; i++)dis[i] = mp[0][i]; // 新图第一个点为0,初始化dis; for (int i = 1; i < n; i++){ // 加入第i+1个点 int minn = 0 ; // 旧图到新图最短距离 int pos = -1; // 旧图最近点标号; for (int j = 0; j < n; j++){if(!vis[j] && minn < dis[j]) {minn = dis[j];pos = j;}}if (minn == 0) return -1;ans += minn; //更新答案; vis[pos] = 1;for (int j = 0; j < n; j++) {if (!vis[j] && mp[pos][j] > dis[j]){dis[j] = mp[pos][j];}}}return ans;}
阅读全文
0 0
- poj 2377 Bad Cowtractors
- poj 2377 Bad Cowtractors
- poj 2377 Bad Cowtractors
- POJ 2377 Bad Cowtractors
- POJ 2377 Bad Cowtractors
- POJ-2377-Bad Cowtractors
- POJ 2377 Bad Cowtractors
- poj 2377 Bad Cowtractors
- POJ 2377 Bad Cowtractors
- POJ 2377 Bad Cowtractors
- Bad Cowtractors.(POJ-2377)
- poj 2377 Bad Cowtractors
- POJ 2377 Bad Cowtractors
- poj 2377 Bad Cowtractors
- 【POJ 2377 Bad Cowtractors】
- POJ 2377 Bad Cowtractors
- poj 2377 Bad Cowtractors
- poj 2377Bad Cowtractors
- 继承(狗继承动物)
- 无线网络
- 关于正则表达式
- UESTC
- CSS样式表进行table水平居中、垂直居中、自动填充
- poj 2377Bad Cowtractors
- HDU 2795 Billboard
- sdut3488 小明の魔法计划
- 简述AIDL通信(后续)
- GRUB下对linux系统的引导
- ArchLinux 安装笔记
- 探秘Java中的String、StringBuilder以及StringBuffer
- phpstudy You don't have permission to access /phpinfo.php on this server.
- 查找算法学习(4)