轩辕春秋文化论坛 » 辕门射虎 » 信息学奥赛普及组第3题---守望者的逃离


2007-12-5 20:29 小马828
信息学奥赛普及组第3题---守望者的逃离

3、守望者的逃离   

escape.pas/c/cpp   

[问题描述]   

恶魔猎手尤迪安野心勃勃,她背叛了暗夜精灵,率领深藏在海底的[哔——]族企图叛变。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。守望者的跑步速度为17m/s,以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在1s内移动60m,不过每次使用闪烁法术都会消耗魔法值10点。守望者的魔法值恢复的速度为4点/s,只有处在原地休息状态时才能恢复。   

现在一直守望者的魔法初值M,他所在的初始位置与岛的出口之间的距离S,岛沉没的时间T。你的任务是写一个程序帮助守望者计算如何在最短的时间内逃离荒岛,若不能逃出,则输出守望者在剩下的时间内能走的最远距离。注意:守望者跑步、闪烁或休息活动均以秒(s)为单位,且每次活动的持续时间为正数秒。距离单位为米(m)。   

[输入]   

输入文件escape.in仅一行,包括空格隔开的三个非负整数M,S,T。   

[输出]   

输出文件escape.out包含两行:   

第1行为字符串“Yes”或“No”(区分大小写),即守望者是否能逃离荒岛。   

第2行包含一个正数。第一行为“Yes”(区分大小写)时便是守望者逃离荒岛的最短时间,第一行为“No”(区分大小写)时表示守望者能走的最远距离。   

[输入输出样例1]   

escape.in   

39 200 4   



escape.out   

No   

197   



[输入输出样例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,1<=M<=1000

2007-12-5 21:20 阿巽
program escape(input,output);
var

m,ss,t,ma,ta,tt,i:longint;
s:longint;

begin

assign(input,'escape.in');
assign(output,'escape.out');

reset(input);rewrite(output);
readln(m,s,t);
ss:=0;tt:=0;
ta:=m div 10;ma:=m mod 10;
if ta>=t then
while (s>ss) and (tt<t) do
begin
ss:=ss+60;inc(tt);
end else
begin ss:=ss+60*ta;tt:=tt+ta;end;
while (s-ss>0) and ((t-tt)>0) do
begin
if (s-ss<=17) then begin ss:=ss+17;inc(tt);continue;end;
if ((s-ss>17)and(s-ss<=34)and (ma<6)) then begin ss:=ss+17;inc(tt);continue;end;
if ((s-ss>34)and (s-ss<=51)and (ma<2)) then begin ss:=ss+17;inc(tt);continue;end;
if ((s-ss>51)and (s-ss<=68)) then begin ss:=ss+17;inc(tt);continue;end;
if ((t-tt<7) and (ma<2)) or ((t-tt<3) and ((ma>1) and (ma<=5)))then

repeat ss:=ss+17;inc(tt) until (s-ss<=0) or ((t-tt)<=0) else
begin
repeat ta:=(ma+4)div 10;inc(tt);ma:=(ma+4)mod 10;until ta=1;
ss:=ss+60;inc(tt);
end;
end;
if s-ss<=0 then
begin writeln('Yes');writeln(tt); end
else begin writeln('No');writeln(ss); end;
close(input);close(output);
end.

2007-12-5 21:30 真·色鐡無雙
这贴……该转到射虎:wacko:

2007-12-5 21:31 真·色鐡無雙
这不是射虎应该有的帖子么……:q(+

2007-12-5 21:59 青木风亮
2楼错了 输入 36 200 4

应该输出
No
197

自己想的? 精神可嘉:unsure:
色云帮忙转下:Th

[[i] 本帖最后由 青木风亮 于 2007-12-5 22:12 编辑 [/i]]

2007-12-6 20:03 tchfk
LZ的意思是,奥数怎么会考有关魔兽背景的游戏题,而不是题目本身.

2007-12-6 20:11 青木风亮
?很奇怪吗 我那个年代就如此了

“信奥”跟“奥数”还是略有不同的

同一个题目 有无数种包装方法 无关紧要吧 如果本意是讨论政治文化教育思想问题 是不是该转去茶馆呢?

2007-12-6 20:16 sj19850117
看到这贴,想到学校里的一道统计学例题,贴出来给大家看看:titter:


弗利萨大人派出的科学家,经过长期对那美克星人进行研究后,发现对该星球上人类抽样后计算的X2值:
                 
     X2 = 平均战斗力数值 x e / 平均体重2(nmkg)

符合X2分布。 e为自然常数2.718

某天,探测器在那美克星上发现了三个生物个体,他们的平均战斗力是574.5, 平均体重为11.2 nmkg,请问这几个人是那美克星人吗?(a 取0.05)


PS:X、a都是希腊字母,X2是平方,不会打上标,大家见谅哈

2007-12-13 09:50 金圭子
原来短笛合体了就牛B,就是因为体重变重了啊…………

那后来战斗力加了XX倍,岂不是短笛要变成爆炸前的沙鲁那样的大猪样子了?-v-

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.