HDU-1863- 畅通工程(最小生成树,prim)
来源:互联网 发布:手机淘宝改支付宝绑定 编辑:程序博客网 时间:2024/04/27 23:30
题目链接
题意:裸的最小生成树
#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#include<iostream>#include<time.h>#include<set>#include<stack>#include<vector>#include<map>#define pi acos(-1)#define maxn 111111#define maxm 11111#define INF 0x3F3F3F3F#define eps 1e-8#define pb push_back#define mem(a) memset(a,0,sizeof a)using namespace std;const long long mod = 1000000007;/**lyc**/int n, m;int mp[222][222];int vis[222];int cost[222];void init(void) { memset(mp, INF, sizeof mp); for (int i = 0; i <= 111; i++) { mp[i][i] = 0; } memset(vis, 0, sizeof vis); memset(cost, INF, sizeof cost);}int Prim() { cost[1] = 0; vis[1] = 1; int ans = 0; for (int i = 2; i <= n; i++) { cost[i] = mp[1][i]; } for (int i = 1; i < n; i++) { int minx = INF; int pos = 0; /**找离集合最近的点**/ for (int j = 1; j <= n; j++) { if (!vis[j] && cost[j] < minx) { minx = cost[j]; pos = j; } } //cout << pos << endl; if (pos == 0) { return -1; } ans += cost[pos]; vis[pos] = 1; /**加入并修改**/ for (int j = 1; j <= n; j++) { if (!vis[j] && mp[pos][j] < cost[j]) { //这里注意,已经把pos点给加入了,所以直接算,不用加原来的了 cost[j] = mp[pos][j]; } } } return ans;}int main() { while (scanf("%d%d", &m, &n) && (m != 0)) { init(); int a, b, x; for (int i = 1; i <= m; i++) { scanf("%d%d%d", &a, &b, &x); mp[a][b] = mp[b][a] = x; } //cout << "***" << endl; int ans = Prim(); if (ans == -1) { printf("?\n"); } else { printf("%d\n", ans); } } return 0;}
阅读全文
0 0
- HDU 1863 畅通工程(最小生成树prim算法)
- 【最小生成树+Prim】杭电 hdu 1863 畅通工程
- hdu 1863畅通工程(prim最小生成树)
- HDU - 1863 - 畅通工程 (最小生成树!!prim算法!!)
- HDU 1863 畅通工程 prim算法 最小生成树
- HDU-1863 畅通工程(最小生成树[Prim])
- 【HDU-1863】畅通工程(最小生成树prim)
- HDU 1863 畅通工程 (最小生成树Prim)
- HDU-1863- 畅通工程(最小生成树,prim)
- HDU 1863 畅通工程 (最小生成树--Kruscal、Prim)
- HDU-1863-畅通工程(最小生成树,prim)
- HDU 1863 畅通工程(prim最小生成树)
- HDU 1863畅通工程(最小生成树)(prim算法)
- hdu 1863 畅通工程 Prim生成树
- hdu 1233 还是畅通工程(Prim最小生成树)
- hdu 1875 畅通工程再续(最小生成树Prim)
- hdu 1875畅通工程再续-prim最小生成树
- hdu 1233 还是畅通工程--最小生成树prim
- Android 图片高斯模糊解决方案
- OpenWrt 编译及batman-adv组件选择(for Netgear WNDR3800)
- 多线程
- 纯真IP地址库合并
- HBuilder mui入门教程——(1)简介
- HDU-1863- 畅通工程(最小生成树,prim)
- 56 WebGL处理响应上下文丢失
- 堆模板
- java基础—文件操作
- 2017上半年总结
- Java集合系列——Map
- Java知识点收集
- UML学习笔记(一):项目沟通的语言
- spring字符编码常用配置