POJ 1258 Agri-Net(最小生成树)
来源:互联网 发布:网络装修平台有哪家 编辑:程序博客网 时间:2024/06/07 10:07
http://poj.org/problem?id=1258
又学到一个新的算法 最小生成树 本题用到prim算法
题意 有N个农场 农场之间要铺设光缆 为保持通信农场之间要互相链接 问最少要多少光缆
典型的最小生成树问题 但是 对于没有接触过最小生成树的初学者来说很容易和最短路的问题混淆 但是这里和最短路的思想并不一样
最短路求的是到达目的地的最短路径 而这里求的是相互连通的最短距离
AC代码:
#include <stdio.h> #define maxinf 0x3f3f3f3f int dis[110],vis[110]; int map[110][110]; int n; void prim(){ int v; for(int i=1;i<=n;i++){ dis[i]=map[1][i]; vis[i]=0; } vis[1]=1; for(int i=1;i<=n;i++){ int min=maxinf; for(int j=1;j<=n;j++) if(!vis[j] && dis[j]<min){ min=dis[j]; v=j; } vis[v]=1; for(int j=1;j<=n;j++) if(!vis[j] && dis[j]>map[v][j]) dis[j]=map[v][j]; } } int main(){ int i,j; while(scanf("%d",&n)!=EOF){ for(i=1;i<=n;i++) for(j=1;j<=n;j++) scanf("%d",&map[i][j]); prim(); int sum=0; for (int i=1;i<=n;i++){ sum+=dis[i]; } printf ("%d\n",sum); } return 0; }
0 0
- POJ 1258 Agri-Net(最小生成树)
- POJ 1258 Agri-Net 【最小生成树】
- Agri-Net - POJ 1258 最小生成树
- POJ 1258 Agri-Net 最小生成树
- POJ 1258 Agri-Net(最小生成树)
- POJ 1258 Agri-Net 最小生成树
- POJ 1258 Agri-Net 最小生成树
- poj 1258 Agri-Net(最小生成树)
- poj 1258 Agri-Net 最小生成树
- Poj 1258 Agri-Net【最小生成树】
- poj 1258 Agri-Net 最小生成树
- POJ 1258Agri-Net 最小生成树
- POJ 1258 :Agri-Net(最小生成树)
- POJ 1258 Agri-Net (最小生成树)
- poj 1258 Agri-Net 最小生成树
- 最小生成树-POJ 1258 Agri-Net
- POJ 1258 - Agri-Net(最小生成树)
- POJ 1258 Agri-Net 最小生成树
- SpringMVC测试
- C函数:strlen,strcat,strncat,strcmp,strncmp,strcpy,strncpy,strstr详解
- leetcode 4. Median of Two Sorted Arrays
- Java基础--I/O系统 ----File类
- Git 手册
- POJ 1258 Agri-Net(最小生成树)
- windows命令符
- 434.Number of Segments in a String(String-Easy)
- Python2.7下安装Scrapy框架
- c++之友元的用法
- python调用自定义模块
- 关闭危险端口445的简单方法
- build mongo-cxx-driver-legacy-0.0-26compat-2.6.12.tar.gz
- 逆向工程核心原理学习笔记(二十四):abex'crackme #2 初探