PTA 7-11(图) 公路村村通(30 分) 最小生成树prim
来源:互联网 发布:平面设计软件有哪些 编辑:程序博客网 时间:2024/05/22 03:10
最小生成树 prim 算法,
注意判非联通
#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <string>#include <cmath>#include <set>#include <map>#include <stack>#include <queue>#include <ctype.h>#include <vector>#include <algorithm>#include <sstream>#define PI acos(-1.0)#define in freopen("in.txt", "r", stdin)#define out freopen("out.txt", "w", stdout)using namespace std;typedef long long ll;const int maxn = 1000 + 7, INF = 0x3f3f3f3f, mod = 1e9 + 7;int n, m;int ans[maxn], vis[maxn];struct node { int v, co; node() {} node(int v, int d) :v(v), co(d) {}};vector<node> a[maxn];void init() { scanf("%d %d", &n, &m); int u, v, d; for(int i = 0; i < m; ++i) { scanf("%d %d %d", &u, &v, &d); a[u].push_back(node(v, d)); a[v].push_back(node(u, d)); }}void solve() { memset(ans, INF, sizeof ans); memset(vis, 0, sizeof vis); for(int i = 0; i < a[1].size(); ++i) ans[a[1][i].v] = a[1][i].co; ans[1] = 0; vis[1] = 1; int anss = 0; while(1) { int t = -1; for(int i = 2; i <= n; ++i) { if(!vis[i] && (t == -1 || ans[i] < ans[t])) t = i; } if(t != -1 && ans[t] == INF) { cout << "-1" << endl; return ; } if(t == -1) break; vis[t] = 1; anss += ans[t]; for(int i = 0; i < a[t].size(); ++i) if(ans[a[t][i].v] > a[t][i].co) ans[a[t][i].v] = a[t][i].co; } cout << anss << endl;}int main() { init(); solve(); return 0;}/*6 151 2 51 3 31 4 71 5 41 6 22 3 42 4 62 5 22 6 63 4 63 5 13 6 14 5 104 6 85 6 3*/
阅读全文
1 0
- PTA 7-11(图) 公路村村通(30 分) 最小生成树prim
- pta 08-图7 公路村村通 (30分) 最小生成树
- (最小生成树问题:Prim,Kruskal)村村通公路
- PTA-公路村村通 (最小生成树)
- PAT 数据结构 06-图6. 公路村村通(30)Prim最小生成树算法
- 公路村村通 (最小生成树)
- 公路村村通(最小生成树)
- 公路村村通(30分) 最小生成树
- 06-3. 公路村村通(30) 最小生成树
- 数据结构课设 公路村村通 (最小生成树prim算法)
- 村村通公路(Prim)
- 08-图7 公路村村通(30 分)
- 06-图6. 公路村村通(30)--最小生成树-prime-kruskal
- PTA 数据结构与算法题目集(中文)5-10 公路村村通 (30分)
- PTA 7-11 公路村村通
- 公路村村通(30 分)
- 5-4 公路村村通 (30分)【简单的最小生成树】
- 7-10 公路村村通(30 分)
- 统计查询两列相同的sql语句
- Android自定义注解与注解器实现点击事件绑定
- clone的一知半解-Java
- [主机更新]更新主机以及IP
- 欢迎使用CSDN-markdown编辑器
- PTA 7-11(图) 公路村村通(30 分) 最小生成树prim
- leetcode题解-81 Search in Rotated Sorted Array II
- 创业团队欢迎你的加入
- fastlane Xcode9 The call to the iTMSTransporter completed with a non-zero exit status: 1. This indic
- 怎么将项目在Eclipse中生成doc文档
- TreeMap 排序
- Mac上新版本不同JAVA版本切换
- java 10.1/10.2/10.3 总结
- ubuntu 虚拟机搭建anaconda3.5