【最小生成树入门专题1】A
来源:互联网 发布:windows longhorn壁纸 编辑:程序博客网 时间:2024/06/05 05:31
描述
最近,小Hi很喜欢玩的一款游戏模拟城市开放出了新Mod,在这个Mod中,玩家可以拥有不止一个城市了!
但是,问题也接踵而来——小Hi现在手上拥有N座城市,且已知这N座城市中任意两座城市之间建造道路所需要的费用,小Hi希望知道,最少花费多少就可以使得任意两座城市都可以通过所建造的道路互相到达(假设有A、B、C三座城市,只需要在AB之间和BC之间建造道路,那么AC之间也是可以通过这两条道路连通的)。
提示:不知道为什么Prim算法和Dijstra算法很像呢Σ(っ °Д °;)っ 。输入
每个测试点(输入文件)有且仅有一组测试数据。
在一组测试数据中:
第1行为1个整数N,表示小Hi拥有的城市数量。
接下来的N行,为一个N*N的矩阵A,描述任意两座城市之间建造道路所需要的费用,其中第i行第j个数为Aij,表示第i座城市和第j座城市之间建造道路所需要的费用。
对于100%的数据,满足N<=10^3,对于任意i,满足Aii=0,对于任意i, j满足Aij=Aji, 0<Aij<10^4.
输出
对于每组测试数据,输出1个整数Ans,表示为了使任意两座城市都可以通过所建造的道路互相到达至少需要的建造费用。
50 1005 6963 392 1182 1005 0 1599 4213 1451 6963 1599 0 9780 2789 392 4213 9780 0 5236 1182 1451 2789 5236 0
4178
虽然是个模板题 但是好歹是自己第一次用prime算法A的题 再水也留个纪念吧,今天已经被堆排序给废了,明天起来待我把优化的prime算法给学会
#include<stdio.h>#define N 1100#define inf 99999999int book[N],dis[N],e[N][N];int main(){int n;int i,j,sum,count,u,min;while(scanf("%d",&n)!=EOF){sum =0 ;count = 0;for(i = 1; i <= n; i ++)for(j = 1; j <= n; j ++)if(i == j)e[i][j] = 1;else e[i][j] = inf;for(i = 1; i <= n; i ++)book[i] = 0;for(i = 1; i <= n; i ++){for(j = 1; j <= n; j ++){scanf("%d",&u);e[i][j] = u;e[j][i] = u;}}for(i = 1; i <= n; i ++)dis[i] = e[1][i];book[1] = 1;count ++;while(count < n){min = inf;for(i = 1; i <= n; i ++){if(!book[i]&&dis[i] < min){u = i;min = dis[i];}}book[u] = 1;sum = sum + dis[u];count ++;for(i = 1; i <= n; i ++){if(!book[i]&&dis[i]>e[u][i])dis[i] = e[u][i];}}printf("%d\n",sum);}return 0;}
阅读全文
0 0
- 【最小生成树入门专题1】A
- 【最小生成树入门专题1】G
- 【最小生成树入门专题1】C
- 【最小生成树入门专题1】H
- [最小生成树入门专题1] zoj1203 E
- 最小生成树专题
- 最小生成树专题
- 最小生成树专题
- 最小生成树专题
- [kuangbin带你飞]专题六 最小生成树A
- (专题)最小生成树
- 专题六-最小生成树
- POJ 2031 Building a Space Station(kuangbin带你飞 专题六:最小生成树)
- [kuangbin带你飞]专题六 最小生成树 A POJ 1251
- 【字符串入门专题1】A
- UVa10034/POJ2560_Freckles(最小生成树)(小白书图论专题)
- Kuangbin Flying 6最小生成树专题
- 【各大OJ】最小生成树专题
- tow weeks 拆解vim(5)
- android事件传递机制---源码分析(上)
- static延迟静态绑定的机制研究
- 田忌赛马HDU
- 「Tensorflow」在ubuntu16.04下配置Tensorflow_fold(GPU)
- 【最小生成树入门专题1】A
- nginx初探--环境搭建
- tow weeks 拆解vim(6)
- 字符串处理(5)字符串数组
- c#实现简单的windows服务实例--清除图片缓存定时器服务
- 轻松理解javascript闭包
- Android插件化开发技术
- mysql共享锁与排他锁
- 字符串处理(6)字符串缓存类StringBuffer