博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
城市公交网建设问题
阅读量:6874 次
发布时间:2019-06-26

本文共 1270 字,大约阅读时间需要 4 分钟。

【问题描述】
  有一张城市地图,图中的顶点为城市,无向边代表两个城市间的连通关系,边上的权为在这两个城市之间修建高速公路的造价,研究后发现,这个地图有一个特点,即任一对城市都是连通的。现在的问题是,要修建若干高速公路把所有城市联系起来,问如何设计可使得工程的总造价最少?
【输入格式】
    n(城市数,1<=n<=100)
  e(边数)
  以下e行,每行3个数i,j,wij,表示在城市i,j之间修建高速公路的造价。
【输出格式】
  n-1行,每行为两个城市的序号,表明这两个城市间建一条高速公路。
【输入样例】
  5 8
  1 2 2
  2 5 9
  5 4 7
  4 1 10
  1 3 12
  4 3 6
  5 3 3
  2 3 8
【输出样例】
   1  2
   2  3
   3  4
   3  5
1 #include
2 #include
3 #include
4 using namespace std; 5 int maxn=0x7fffffff; 6 int map[101][101]; 7 int minn[101]; 8 int vis[101]; 9 int vis2[101][101];10 int main()11 {12 int n,m;13 scanf("%d%d",&n,&m);14 for(int i=0;i<=n;i++)minn[i]=maxn;15 for(int i=0;i<=n;i++)16 for(int j=0;j<=n;j++)17 {18 if(i==j)19 map[i][j]=0;20 else21 map[i][j]=maxn;22 }23 for(int i=1;i<=m;i++)24 {25 int x,y,z;26 scanf("%d%d%d",&x,&y,&z);27 map[x][y]=z;28 map[y][x]=z;29 }30 for(int i=1;i<=n;i++)31 {32 if(map[1][i])33 minn[i]=map[1][i];34 }35 minn[1]=0;36 vis[1]=1;37 int now=1;38 for(int i=2;i<=n;i++)39 {40 int k=0;41 for(int j=2;j<=n;j++)42 {43 if(vis[j]==0&&minn[j]

 

转载地址:http://ilofl.baihongyu.com/

你可能感兴趣的文章
Element源码分析系列3-Button(按钮)
查看>>
Django2 web实战01-启动项目
查看>>
js选择排序
查看>>
SpringBoot详解(四)-优雅地处理日志
查看>>
Glide 知识梳理(4) 自定义animate
查看>>
Android 注解系列之Annotation(二)
查看>>
如何绑定页面生命周期(二)-基于Android Architecture Components的Lifecycle实现
查看>>
互联网安全内容安全及防护
查看>>
element 学习借鉴 p1
查看>>
探索iOS内存分配
查看>>
计算机科学中抽象的好处与问题—伪共享实例分析
查看>>
TWEEN动画、JQUERY、ES6 — 2、轮播图-渐隐渐现版本
查看>>
php填坑小记
查看>>
API Token 驗證方式設計
查看>>
青芒 for Mac客户端开发笔记
查看>>
XTCP 一个便捷的TCP消息包拼装和解析框架
查看>>
阿里云态势感知服务(上篇)
查看>>
基于 Spring Boot 2.0 构建一个 RESTful WebService
查看>>
Qtum研究院:以太坊智能合约潜在风险
查看>>
iOS快速集成支付宝
查看>>