Networking---poj1287最小生成树
http://poj.org/problem?id=1287
最小生成树模板题类似的还有:poj1258 hdu1233代码几乎一样;
- #include<stdio.h>
- #include<string.h>
- #include<iostream>
- #include<algorithm>
- #include<math.h>
- #include<map>
- #define N 110
- #define INF 0xfffffff
- using namespace std;
- int ans, n, m, dist[N], maps[N][N], vis[N];//dist[i]代表当前起点到i的最小距离;
- void Init()
- {
- for(int i=; i<=n; i++)
- {
- dist[i] = INF;
- vis[i] = ;
- for(int j=; j<=n; j++)
- if(i==j)
- maps[i][j] = ;
- else
- maps[i][j] = INF;
- }
- }
- void Prim(int start)
- {
- for(int i=; i<=n; i++)
- dist[i] = maps[start][i];
- vis[start] = ;
- for(int i=; i<=n; i++)
- {
- int Min = INF, index=-;
- for(int j=; j<=n; j++)
- {
- if(vis[j]== && Min>dist[j])
- {
- Min = dist[j];
- index = j;
- }
- }
- if(index == -)break;
- vis[index] = ;
- ans += Min;
- for(int j=; j<=n; j++)
- {
- if(vis[j]== && maps[index][j] < dist[j])
- {
- dist[j] = maps[index][j];
- }
- }
- }
- }
- int main()
- {
- int a, b, c;
- while(scanf("%d", &n),n)
- {
- ans=;
- Init();
- scanf("%d", &m);
- for(int i=; i<m; i++)
- {
- scanf("%d%d%d", &a, &b, &c);
- maps[a][b] = maps[b][a] = min(maps[a][b], c);
- }
- Prim();
- printf("%d\n", ans);
- }
- return ;
- }
prim
- #include<stdio.h>
- #include<string.h>
- #include<iostream>
- #include<algorithm>
- #include<math.h>
- #include<map>
- #define N 110
- #define INF 0xfffffff
- using namespace std;
- int n, f[N], m;
- struct node
- {
- int x, y, d;
- }a[N*N];
- int cmp(node p, node q)
- {
- return p.d < q.d;
- }
- int Find(int x)
- {
- if(x != f[x])
- f[x] = Find(f[x]);
- return f[x];
- }
- int main()
- {
- int ans, px, py;
- while(scanf("%d", &n),n)
- {
- ans=;
- for(int i=; i<=n; i++)
- f[i] = i;
- scanf("%d", &m);
- for(int i=; i<m; i++)
- {
- scanf("%d%d%d", &a[i].x, &a[i].y, &a[i].d);
- }
- sort(a, a+m, cmp);
- for(int i=; i<m; i++)
- {
- px = Find(a[i].x);
- py = Find(a[i].y);
- if(px != py)
- {
- f[px] = py;
- ans+=a[i].d;
- }
- }
- printf("%d\n", ans);
- }
- return ;
- }
Kruskal
Networking---poj1287最小生成树的更多相关文章
- POJ1287 Networking【最小生成树】
题意: 给出n个节点,再有m条边,这m条边代表从a节点到b节点电缆的长度,现在要你将所有节点都连起来,并且使长度最小 思路: 这是个标准的最小生成树的问题,用prim的时候需要注意的是他有重边,取边最 ...
- POJ 1287 Networking (最小生成树)
Networking 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/B Description You are assigned ...
- POJ 1287 Networking(最小生成树)
题意 给你n个点 m条边 求最小生成树的权 这是最裸的最小生成树了 #include<cstdio> #include<cstring> #include<algor ...
- poj 1287 Networking【最小生成树prime】
Networking Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7321 Accepted: 3977 Descri ...
- POJ 1287:Networking(最小生成树Kruskal)
id=1287">Networking Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5976 Acce ...
- POJ - 1287 Networking 【最小生成树Kruskal】
Networking Description You are assigned to design network connections between certain points in a wi ...
- POJ1287(最小生成树入门题)
Networking Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7753 Accepted: 4247 Descri ...
- POJ 1287 Networking(最小生成树裸题有重边)
Description You are assigned to design network connections between certain points in a wide area. Yo ...
- POJ - 1287 Networking (最小生成树&并查集
You are assigned to design network connections between certain points in a wide area. You are given ...
- 最小生成树练习1(克鲁斯卡尔算法Kruskal)
今天刷一下水题练手入门,明天继续. poj1861 Network(最小生成树)新手入门题. 题意:输出连接方案中最长的单根网线长度(必须使这个值是所有方案中最小的),然后输出方案. 题解:本题没有直 ...
随机推荐
- 【RF库Collections测试】List Should Not Contain Duplicates
Name:List Should Not Contain DuplicatesSource:Collections <test library>Arguments:[ list_ | ms ...
- Unity Shader 修改自定义变量的值
Properties { _R(,)) = 1.0 _ColorTex("ColorTex (RGB)", 2D) = "red" {} } SubShader ...
- 在 Ubuntu 13.10 安装 PyCharm 3.0.1 & Oracle JDK
由于授权问题,在较新的Linux发行版本中都不再包含Oracle Java,取而代之的是OpenJDK.Ubuntu也是如此. OpenJDK能满足大部分的应用程序运行条件,但PyCharm无法在Op ...
- SourceTree 全局忽略及相关问题
SourceTree 默认使用的是全局缓存配置, 这个配置文件在 SourceTree -> Preferences -> Git -> 全局忽略列表 点击 编辑文件 接下来输入相关 ...
- QT之 Hello World
下载…… 我下载的Qt creater 版本为4.2.1,Qt版本为5.8.0 打开QT Creater 1. 新建项目 New Project -> Application -> Q ...
- GitHub 在使用命令行 git push 时报错:The requested URL returned error: 403
使用 git 的命令行向 GitHub 提交的时候,报错: [Young@localhost OtherLang]$ git push origin master error: The request ...
- Redis学习笔记--Redis配置文件redis.conf参数配置详解
########################################## 常规 ########################################## daemonize n ...
- VS自动添加头部注释
让VS自动生成类的头部注释,只需修改两个文集即可,一下两个路径下个有一个 Class.cs文件 D:\Program Files (x86)\Microsoft Visual Studio 14.0\ ...
- nginx 日志文件
默认日志格式 log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status ...
- wpgcms---单片页数据渲染
单片页数据渲染,使用Twig的标签语法: <h1> {{ contentInfo.title }} </h1> {% autoescape false %} {{ conten ...