1134 守望者的逃离【NOIP2007普及组】 1135 Hanoi双塔问题【NOIP2007普及组】.docVIP

1134 守望者的逃离【NOIP2007普及组】 1135 Hanoi双塔问题【NOIP2007普及组】.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1134 守望者的逃离【NOIP2007普及组】 1135 Hanoi双塔问题【NOIP2007普及组】

守望者的逃离【NOIP2007普及组】 Time Limit:10000MS? Memory Limit:65536K Total Submit:9 Accepted:5 Description   恶魔猎手尤迫安野心勃勃.他背叛了暗夜精灵,率深藏在海底的那加企图叛变:守望者在与尤迪安的交锋中遭遇了围杀.被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去,到那时,刀上的所有人都会遇难:守望者的跑步速度,为17m/s, 以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在1s内移动60m,不过每次使用闪烁法术都会消耗魔法值10点。守望者的魔法值恢复的速度为4点/s,只有处在原地休息状态时才能恢复。   现在已知守望者的魔法初值M,他所在的初始位置与岛的出口之间的距离S,岛沉没的时间T。你的任务是写一个程序帮助守望者计算如何在最短的时间内逃离荒岛,若不能逃出,则输出守望者在剩下的时间内能走的最远距离。注意:守望者跑步、闪烁或休息活动均以秒(s)为单位。且每次活动的持续时间为整数秒。距离的单位为米(m)。 Input   输入文件escape.in仅一行,包括空格隔开的三个非负整数M,S,T。 Output   输出文件escape.out包含两行:   第1行为字符串Yes或No (区分大小写),即守望者是否能逃离荒岛。   第2行包含一个整数,第一行为Yes (区分大小写)时表示守望着逃离荒岛的最短时间   第一行为No (区分大小写) 时表示守望者能走的最远距离。 Sample Input 39 200 4 Sample Output No 197 Hint 输入输出样例2: escape.in 36 255 10 escape.out Yes 6 【限制】   30%的数据满足: 1 = T= 10, 1 =S= 100   50%的数据满足: 1 = T = 1000, 1 = S = 10000   100%的数据满足: 1 = T = 300000, 0 = M=1000 1 =S = 10^8 Source var i,j,t,s,m:longint; a:array[0..300000] of longint; begin readln(m,s,t); j:=0; for i:=1 to t do if m9 then begin a[i]:=a[i-1]+60; m:=m-10; end else begin a[i]:=a[i-1]; m:=m+4; end; for i:=1 to t do if a[i]+17a[i+1] then a[i+1]:=a[i]+17; while (a[t-1]=s) and (t0) do dec(t); if a[t]=s then begin writeln(Yes); writeln(t); end else begin writeln(No); writeln(a[t]); end; end. Hanoi双塔问题【NOIP2007普及组】 Time Limit:10000MS? Memory Limit:65536K Total Submit:6 Accepted:6 Description   给定A,B,C三根足够长的细柱,在A柱上放有2n个中间有空的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形)。现要将 这些国盘移到C柱上,在移动过程中可放在B柱上暂存。要求:   (1)每次只能移动一个圆盘;   (2) A、B、C三根细柱上的圆盘都要保持上小下大的顺序;   任务:设An为2n个圆盘完成上述任务所需的最少移动次数,对于输入的n,输出An。 Input   输入文件hanoi.in为一个正整数n,表示在A柱上放有2n个圆盘。 Output   输出文件hanoi.out仅一行,包含一个正整数,为完成上述任务所需的最少移动次数An。 Sample Input 1 Sample Output 2 Hint 【输入输出样例2】 hanoi.in 2 hanoi.out 6 【限制】   对于50%的数据, 1=n=25   对于100% 数据, 1=n=200 【提示】   设法建立An与An-1的递推关系式。 Source var i,j,n,l:longint; a

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档