C++遇到了难题,希望大神帮忙解答。。。
dafenghaha2013/08/03软件综合 IP:北京
4.道路修建
(XXXXXXXs/c/cpp)
【问题描述】
小明所在的城市是一个依赖旅游而发展的城市,现在市长想把市里的几个区域用道路连接起来,每对区域之间修路所需的花费都已经计算出了,现在问题就是用最小的花费把这几个区域用道路都全部连通。但是只要智商正常的人都能看出这是图的最小生成树,所以小明的市长不可能连这个问题都搞不定的。小明的市长把最小生成树求出来后发现市里面两个最著名景点之间的路会变得很长,为了避免外地游客不和谐的呼吁声,市长决定要保持这两个景点之间道路最短。也就是说在这两个景点之间的道路为最短路的情况下再将其他各个区域修路连通且花费最少。由于小明的市长只在小学一年级学过一学期的信息学,所以对于这个问题他还是有些伤脑筋,于是他找到了你……
【输入】
第一行一个数n,代表有n个区域(n<=1000
第二行两个数ab表示那两个著名景点的编号
接下来有n行,每行有n个数,第i行的第j个数就代表编号为i的区域到编号为j的区域修路所需的花费(均大于0,若为0则是不能修路)
【输出】
满足条件的总花费,若两著名景点之间不能连通则输出’bad test data’
【输入输出样例】
  XXXXXXX
  
  road.out
  
  5
  2 5
  0 5 0 1  3
  5 0 4 0  0
  0 4 0 3  10
  1 0 3 0  2
  3 0 10  2 0
  
  12
  
注:最小生成树应为(1-4+4-5+4-3+3-2=10
但是要保证25为最短路所以要保证(2-1-5)这条最短路在树中,此时再加上(4-1),(3-4)等于12
来自:计算机科学 / 软件综合
2
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
daxus
11年5个月前 IP:未同步
555048
去CSDN把,多给点分,有人给你答案的。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
celeron533
11年5个月前 IP:未同步
555205
格式调整一下,看起来太蛋疼
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}