POJ-1287-Networking [最小生成树]
来源:互联网 发布:查日本经济数据的网站 编辑:程序博客网 时间:2024/05/17 06:12
题目传送门
题意:
给出N个点以及M跳边权,求最小生成树
思路:
邻接矩阵建图,prim求最小生成树,注意判断重边
#include <algorithm>#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <cmath>#include <queue>#include <set>#include <map>using namespace std;int mp[120][120], N, M;const int inf = 0x3f3f3f3f;void init(){ for (int i = 0; i < 120; i++) for (int j = 0; j < 120; j++) mp[i][j] = inf; return;}void prim(int x){ int book[120], dis[120], ans; memset(book,0,sizeof(book)); for (int i = 1; i <= N; i++) dis[i] = mp[x][i]; book[x] = 1; ans = 0; for (int i = 1; i < N; i++) { int mi = inf, f = -1; for (int j = 1; j <= N; j++) { if (!book[j] && dis[j]<mi) { mi = dis[j]; f = j; } } if (f==-1) { printf("-1\n"); return; } ans += mi; book[f] = 1; for (int j = 1; j <= N; j++) { if (!book[j] && dis[j]>mp[f][j]) { dis[j] = mp[f][j]; } } } printf("%d\n", ans); return ;}int main(void){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); while (scanf("%d", &N)) { init(); if (N == 0) break; scanf("%d", &M); while (M--) { int x, y, dis; scanf("%d %d %d", &x, &y, &dis); if (mp[x][y]>dis && mp[y][x]>dis) { mp[x][y] = dis; mp[y][x] = dis; } } prim(1); } return 0;}
阅读全文
0 0
- POJ 1287 最小生成树 Networking
- poj 1287 Networking 最小生成树
- POJ 1287 Networking(最小生成树)
- poj 1287 Networking(图论:最小生成树)
- poj-1287 Networking 最小生成树
- POJ 1287 Networking(最小生成树)
- POJ 1287 Networking(最小生成树)
- poj 1287 Networking(最小生成树)
- poj 1287 Networking ->最小生成树
- Poj 1287 Networking【最小生成树】
- POJ - 1287 Networking(最小生成树)
- poj 1287 Networking(最小生成树)
- POJ 1287 Networking(最小生成树)
- poj 1287 Networking (最小生成树)
- POJ 1287 Networking(最小生成树)
- 【POJ】-1287-Networking(最小生成树)
- poj-1287-Networking【最小生成树】
- POJ 1287 Networking (最小生成树)
- oracle中的rownum讲解
- ArrayBlockingQueue跟LinkedBlockingQueue的区别
- js获取当前日期时间“yyyy-MM-dd HH:MM:SS”
- Time system
- Mac安装Mysql_解决中文乱码_JDBC访问操作
- POJ-1287-Networking [最小生成树]
- “The method getDispatcherType() is undefined for the type HttpServletRequest”
- SVN的使用
- windows上使用sourceTree2.0.20.1+P4Merge-Build-2017.2
- ffmpeg一键安装
- Drawer与Toolbar的简单使用
- 连咸鱼都能学会的Java动态代理
- JS 获取当月第一天与最后一天
- URG-PSH