POJ.1287 Networking (Prim)
POJ.1287 Networking (Prim)
题意分析
- 可能有重边,注意选择最小的边。
- 编号依旧从1开始。
- 直接跑prim即可。
代码总览
#include <cstdio>
#include <cstring>
#define nmax 105
#define inf 1e8+7
using namespace std;
int mp[nmax][nmax];
bool isfind = true;
int n,m;
int totaldis =0;
void prim()
{
int lowcost[nmax];
int path[nmax];
for(int j = 1;j<=n;++j){
lowcost[j] = mp[1][j];
path[j] = 1;
}
path[1] = 0;
int nowmin,nowminid;
for(int i =2 ;i<=n;++i){
nowmin = inf;
nowminid = 0;
for(int j = 2;j<=n;++j){
if(nowmin > lowcost[j] && lowcost[j] != 0){
nowmin = lowcost[j];
nowminid = j;
}
}
if(nowmin == inf){
isfind = false;
return;
}
totaldis += nowmin;
lowcost[nowminid] = 0;
for(int j = 2;j<=n;++j){
if(mp[nowminid][j] < lowcost[j]){
lowcost[j] = mp[nowminid][j];
path[j] = nowminid;
}
}
}
}
int main()
{
//freopen("in.txt","r",stdin);
while(scanf("%d",&n) != EOF && n){
scanf("%d",&m);
int sta,end,dis;
totaldis = 0;
isfind = true;
for(int i = 1; i<=n;++i)
for(int j = 1;j<=n;++j)
mp[i][j] = inf;
for(int i = 1; i<=m ;++i){
scanf("%d %d %d",&sta,&end,&dis);
if(mp[sta][end] != inf){
int temp = mp[sta][end];
if(dis < temp)
mp[sta][end] = mp[end][sta] = dis;
}else{
mp[sta][end] = mp[end][sta] = dis;
}
}
prim();
if(isfind == false) totaldis = 0;
printf("%d\n",totaldis);
}
return 0;
}
POJ.1287 Networking (Prim)的更多相关文章
- ZOJ1372 POJ 1287 Networking 网络设计 Kruskal算法
题目链接:problemCode=1372">ZOJ1372 POJ 1287 Networking 网络设计 Networking Time Limit: 2 Seconds ...
- POJ 1287 Networking (最小生成树)
Networking Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit S ...
- POJ 1287 Networking (ZOJ 1372) MST
http://poj.org/problem?id=1287 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=372 和上次那题差 ...
- POJ 1287 Networking
题目链接: poj.org/problem?id=1287 题目大意: 你被分派到去设计一个区域的连接点,给出你每个点对之间的路线,你需要算出连接所有点路线的总长度. 题目输入: 一个数字n 代表有 ...
- POJ - 1287 Networking 【最小生成树Kruskal】
Networking Description You are assigned to design network connections between certain points in a wi ...
- POJ 1287 Networking【kruskal模板题】
传送门:http://poj.org/problem?id=1287 题意:给出n个点 m条边 ,求最小生成树的权 思路:最小生树的模板题,直接跑一遍kruskal即可 代码: #include< ...
- POJ 1287 Networking (最小生成树)
Networking 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/B Description You are assigned ...
- poj 1287 Networking【最小生成树prime】
Networking Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7321 Accepted: 3977 Descri ...
- POJ 1287 Networking(最小生成树)
题意 给你n个点 m条边 求最小生成树的权 这是最裸的最小生成树了 #include<cstdio> #include<cstring> #include<algor ...
随机推荐
- 关于css,js显示不出来
有时候取消了对js,css文件的拦截,但是在网页上还是显示不了,可以试一下下面的方法: 在jsp页面添加下面内容 css的调用路径用path来代替
- hdu2112HDU Today(floyd+map数组对字符串的应用)
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- Java开发工程师(Web方向) - 03.数据库开发 - 第1章.JDBC
第1章--JDBC JDBC基础 通过Java Database Connectivity可以实现Java程序对后端数据库的访问 一个完整的数据库部署架构,通常是由客户端和服务器端两部分组成 客户端封 ...
- Django学习总结②----关系运算与F,Q关系
关联mysql步骤: 第一步:下载pymysql:pip install pymysql 第二步:在工程目录下的init文件下,将pymysql引入 import pymysql pymysql.in ...
- lintcode 平面列表
问题描述: 给定一个列表,该列表中的每个要素要么是个列表,要么是整数.将其变成一个只包含整数的简单列表. 样例: 给定 [1,2,[1,2]],返回 [1,2,1,2]. 给定 [4,[3,[2,[1 ...
- [递推+矩阵快速幂]Codeforces 1117D - Magic Gems
传送门:Educational Codeforces Round 60 – D 题意: 给定N,M(n <1e18,m <= 100) 一个magic gem可以分裂成M个普通的gem ...
- SpringCloud IDEA 教学 (一) Eureka的简介与服务注册中心的建立
写在开头 SpringCloud进来成为业界排名靠前的微服务框架,最核心功能就是搭建微服务,并在此基础上衍生出一系列功能,如断路器(Hystrix).断路监控.管理配置.Zuul.OAuth2等功能. ...
- Ext JS 6学习文档-第3章-基础组件
Ext JS 6学习文档-第3章-基础组件 基础组件 在本章中,你将学习到一些 Ext JS 基础组件的使用.同时我们会结合所学创建一个小项目.这一章我们将学习以下知识点: 熟悉基本的组件 – 按钮, ...
- BZOJ 3924 ZJOI2015 幻想乡战略游戏 树链剖分
题目链接:https://www.luogu.org/problemnew/show/P3345(bzoj权限题) 题意概述:动态维护树的上所有点到这棵树的带权重心的距离和.N,Q<=10000 ...
- Bad Cowtractors(最大生成树)
Description Bessie has been hired to build a cheap internet network among Farmer John's N (2 <= ...