首页 > 其他 > 详细

CEOI 2004 Trial session Problem. Journey DFS

时间:2018-01-07 15:26:51      阅读:200      评论:0      收藏:0      [点我收藏+]

PROBLEM

http://www.oi.edu.pl/old/ceoi2004/problems/jou.pdf

分析

这题属于需要一些思考的题目。对于这道题目,我们要了解到这个图其实就是一棵树。如何想到这是树?题目中又这样几句话:

There are n cities in Byteland.

There are only n-1 roads, but connect the cities in such a way that is possible to travel from each city to any other city.

很容易发现这是典型的树的特征。当然,如果还不能看出来,随手画几个图就会发现,要满足这两个条件,这个图一定是一棵树。

那么这道题的算法就是树的遍历,根据题目特征,很容易想到,利用DFS解决这道题目。

那么问题来了,如何计算最短路径呢?这个时候可能很难想到,那么可以简单地画几棵树。

技术分享图片

技术分享图片

这是两种极端情况,比较容易思考。经过不断尝试和总结(写一些数据),会发现:

MinLength = EdgeLengthSum*2 - MaxEdgeLength

然后程序就变得非常简单了。

程序

CEOI 2004 Trial session Problem. Journey DFS

原文:https://www.cnblogs.com/OIerPrime/p/8227906.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!