题目名称 715. [SDOI 2005] 屠龙传说-屠龙枪卷
输入输出 killdragon.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarsywgz 于2012-04-01加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:1, 提交:92, 通过率:1.09%
Gravatarkiana810 100 3.484 s 1.34 MiB C++
Gravatar112233 90 0.002 s 0.29 MiB C++
Gravatarkiana810 90 3.439 s 1.34 MiB C++
Gravatarkiana810 90 3.441 s 1.34 MiB C++
Gravatarkiana810 90 3.449 s 1.34 MiB C++
Gravatarkiana810 90 3.450 s 1.34 MiB C++
Gravatarkiana810 90 3.454 s 1.34 MiB C++
Gravatarkiana810 90 3.458 s 1.34 MiB C++
Gravatarkiana810 90 3.458 s 1.34 MiB C++
Gravatarkiana810 90 3.459 s 1.34 MiB C++
关于 屠龙传说-屠龙枪卷 的近10条评论(全部评论)
看见题的内容这么多,就不想做
Gravatar龙征天
2016-11-14 07:19 1楼

715. [SDOI 2005] 屠龙传说-屠龙枪卷

★   输入文件:killdragon.in   输出文件:killdragon.out   简单对比
时间限制:1 s   内存限制:128 MiB

题目描述:

先知看到修玛取回的药草,满意地点了点头。他对修玛说:“跟我来”。修玛顺从地跟着先知走到了他的房间里。先知的房间很大,四周满是书架,整整齐齐地摆放着一排排书籍。房间中间的圆桌上摆放着一个巨大的水晶球,它发出的荧光照亮了整个房间。先知走到一排书架前,从中抽出一本薄薄的书来。这本书看起来十分古老,纸张都变成了黄色,有的地方已经发黑。修玛想,这本书的历史大概有好几百年了吧。先知示意修玛坐下,他翻开手中的书,对修玛说道:“我已经研究这本书很久了。它是用一种古老的文字写成的,记载了一个十分古老的传说。书中提到,普通的武器是无法伤害巨龙的,只有诸神合力锻造的屠龙枪才能消灭它。为了防止屠龙枪被滥用,神把它封印在卡基思山上,只有拥有超人的勇气、力量和智慧的人才能解开这个封印。千百年来,很多人都想得到屠龙枪的力量,然而从没有人成功过。我查阅了所有有关屠龙枪的记载,悉心地研究那些资料,得知屠龙枪被封印在山顶的神殿中,而要解开这道封印,就必须把神殿中的一块巨大的圆石推到神殿祭坛的中心,然后念出解开封印的咒语。”修玛问道:“那句咒语应该已经失传了吧?”“不,恰恰相反。”先知说,“这句咒语一直记载在这本书中,并被完好地保存下来。”“那么,剩下的只是把圆石推到祭坛的中心了。”修玛自信地笑了。然而先知却摇了摇头,“不,修玛,事情没有你想象的那么简单。爬上卡基思山就不是一件容易的事。它高耸入云,四周都是光秃秃的石壁,几乎没有落脚的地方。只有真正的勇士才能爬得上去。那块圆石也不是那么容易就能推动的,非得有超常的力量不可。这些东西,修玛你都有。但如果仅仅只有这些,那么屠龙枪早已被人拿到手了。书中不是说了么,要有勇气、力量和智慧。智慧才是真正的关键。如果在固定时间内不能把那块圆石推到祭坛的中心,那么圆石便会自动滚回原处,同时推石的人将永远无法再次推动这块圆石。而且不管你用多大力气推,这块圆石都不可能滚动得像你希望的那样快,我估计只有按照最短路线去推这块圆石,才能在固定时间内把它推到祭坛中心。神殿中又有着大大小小的石柱,有些石柱与石柱之间的空隙很小,根本就推不过去。正因为这种种困难,才没有人能够从神殿中取走屠龙枪。”修玛沉默了一会儿,说:“不管如何,我也要去试一试。如果我不能拿到屠龙枪,就没有人能够拿到它了。”先知点了点头,说:“去吧,修玛。记住,用你的智慧。”

修玛骑马奔驰了十天十夜,终于来到了卡基思山脚下。正如先知所说的那样,这座山根本就没有路可以上去,甚至找不到可以落脚的地方。然而修玛凭着他的勇气以及熟练的技巧,爬上了山顶。他走进神殿,一眼就看到了那块巨大的圆石。修玛该怎么做,才能把圆石推到祭坛的中心呢?

任务:

你的任务是计算出把圆石推到祭坛中心的最短路线长度。所谓推到祭坛中心是指圆石的中心与祭坛中心重合。圆石中心的初始位置以及祭坛中心的位置是已知的。圆石半径为R,它可以朝着任意方向滚动。洞中所有石柱均为正四棱柱,大小不一。在推动圆石的过程中,要求圆石中心与所有石柱的距离均不小于R,否则圆石将被石柱阻挡而不能继续滚动。

输入(killdragon.in)

输入文件killdragon.in第一行包含了五个实数,依次表示圆石中心的初始位置的x坐标、y坐标、圆石半径R、祭坛中心的位置的x坐标以及y坐标。第二行包含一个整数N0<=N<=20),表示神殿中石柱的数目。接下去N行每行包含三个实数,给出了一根石柱的信息。第I+2行的三个实数依次表示第I根石柱左下角x坐标、y坐标以及该石柱的边长。所有实数均精确到2位小数,范围在01000之内。

输出(killdragon.out)

输出文件killdragon.out仅包含一个实数表示把圆石推到祭坛中心的最短路线长度,输出结果保留到两位小数。你可以假设总存在一条把圆石推到祭坛中心的路。

输入样例(killdragon.in)

0 0 10 30 40

1

10 10 10

输出样例(killdragon.out)

5793

修玛思索良久,果断地走到圆石旁边,用力推动这块巨石。圆石在修玛的推动下,缓缓地滚动起来。修玛时不时地调整着推动的角度,以使巨石朝着自己希望的方向滚动。终于,“卡嗒”的一声,圆石安安稳稳地滚到了祭坛的中心。一束光从神殿顶上直射而下,笼罩了整个祭坛。修玛对着祭坛,大声地念出了解开封印的咒语。顿时,祭坛开始颤动,中间的圆石也随着摇摆不定。突然间,整块圆石完全爆裂开来,在祭坛的中心,出现了一柄长枪。枪身上闪烁着神圣的光芒,令人惊羡不已。修玛走上前去,拔起了这柄枪。他感到一股强大的力量从手上传了过来。修玛随手把枪一挥,只听得“哗啦”一声,一根巨大的石柱应声四分五裂了。修玛又惊又喜,他知道这一定就是屠龙枪。