教程分析案例1292will indiana jones get there_第1页
教程分析案例1292will indiana jones get there_第2页
教程分析案例1292will indiana jones get there_第3页
教程分析案例1292will indiana jones get there_第4页
教程分析案例1292will indiana jones get there_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、解题:Willna Jones Get There?题目来源:http解法或类型:Djikstra作者:/JudgeOnline/showproblem?problem_id=1292Willna Jones Get There?TimeLimit:1SMemory Limit:1000KTotal Submit:58 Accepted:25Descriptionna Jones is in a deserted city, annihilated during a war. Roofs of all houses have been destroyed and only portions o

2、f walls are still standing. The ground is so full ofminest the only safe way to move around the city is walkiner the remainingwalls. The misof our hero is to saverson who is trappedhe city. In orderto move betn two walls which are not connectedna Jones thought of taking n the two walls and then cros

3、swith him a wooden board which he could place bet from one to the other.Initialitions ofna Jones and the trappedare both on some section ofthe walls.Besides, walls are eitherhe direction South-North or West-East.You will be given a map of the city remains. Your misis to determine theminimum length o

4、f the wooden boardna Jones needs to carry in order to get tothe trapped.InputYour program should pros several test cases. Each test case starts winegerN indicating the number of wall sections remaininghe city (2 = N = 1000).Each of the next N lines describes a wall section. Thewall section to appear

5、 isthe section wherena Jones stands at the beginning.The second section to appearis the section where the trappedstands. Each wall section description consistsof threeegers X,Y and L (-10000 = X ,Y ,L = 0,the section is West-East, with length L; if L 0,the section is North-South, with length |L|.of

6、input is indicated by N = 0.OutputFor each test casehe input your program should produce one line of output,containing a real value representing the length of the wooden boardna Jonesmust carry. The length must be pred as a real number with two-digit preci, andthe last decimal digit must be rounded.

7、 The input will not contaest cases wheredifferenin rounding are significant.SampleInput141675222401346631823533378676652-2322-2-212-221-2-10 0 20-5 1 1050 50 1000Sample Output1.411.00SourceSoumerica 2002解题思路:1 解题的第一个任务是能够求出任意两条线段间的距离。可采用分情况始时设有标志符,可以辨认出两条线之间的关序属于一下的哪一种。 (1)两条线段都是水平的。先固定一条线段,在观察另一条线段

8、可能出现的情形。的方法求解。开如图,图中的黑线是固定的,红线的位置是变化的。红线在黑线的上方还是下方并不重要,关键在于其相对的左右位置。图 1 中 距离 = 黑线左侧点到红线右侧点的距离图 2 中 距离 = 红线左侧点到黑线右侧点的距离除图 1,图 2 外的情形,两条线段在 x 坐标上必然有重合的部分,求距离的公式是一样的。比如图 3 距离 = fabs(黑线的 y 坐标 红线的 y 坐标)(2)两条线段都是竖直的。可同理分析。(3)一条线段是竖直的,另一条线段为水平的。可以事先认为判断一下,用一个代号竖线的。另一个代号横线。如图,竖线用黑色表示,横线用红色表示。图 4,5,6 中,红线均在黑

9、线的左侧。图 4 距离=黑线左侧点到红线的下侧点的距离图 5 距离=黑线左侧点的 x 坐标 红线的 x 坐标图 6 距离=黑线左侧点到红线的上侧点的距离图 7,8,9 中,红线均在黑线的右侧。同理可求得。图 10,图 11,图 12 中,红线的 x 坐标介于黑线两端的 x 坐标之间。图 10图 11图 12距离=红线下端的 y 坐标 黑线的 y 坐标距离=0距离=黑线的 y 坐标 红线上端的 y 坐标如此可求出任意两条线段间的距离。2 完成此题的总任务。采用 Djikstra 算法,将每条线段视为 Djikstra 算法中的一个点,两点之间的权值表示原来两条线间的距离。每个点自身的权值表示从初

10、始位置到此线段所需木板的最小长度。首先初始化各个点的权值,起始线所代表的点权值为 0,其余点的权值为各条线到起始线的距离,并标记起始点已被选过。从除起始点外的点中选出一个权值最小的点,标记第 last个点,并此点为已选。逐一从其余未选点选出一个点作为当前点,并求出 last 点到此当前点的距离 betn ,如果Betn last 点本身的权值,则 betn = last 点本身的权值。(betn 表示 从起始线出发,经过 last 线,到达 当前线所需木板的最小长度。)在将 betn 与 当前点原来的权值相比较,如果 betn 当前点原来的权值,则修改当前点的权值。如此反复进行,即从未选点中选取一个权值最小的点,记为 last 点,标记为已选点。根据 last 点,修改其余未

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论