主题:求教NOIP2007复赛二、三题!
就是“纪念品分组”和“守望者的逃离”那两题!
不要求源程序,讲下解题方法就可以。
谢谢!
又:“守望者的逃离”我想到了一部分,就是用while循环模拟每一秒的判断,并在魔法值足够时先把魔法值用完,伪码如下:
procedure escape(m,s,t:integer);
var
m2,s2,t2:integer;
begin
m2:=m;s2:=s;t2:=t;
while t2>=0 and s2>0 do
begin
if m2>=10 then
begin
s2:=s2-60;
m2:=m2-10;
end;
else if {......}{判断如果魔法值用完,下一步怎么走。}
{......}
t2:=t2-1;
end;
if s2=0 then
write('yes ',t-t2);
else if t2<=0 then
write('no ',s-s2);
end.
然后“……”里面的不会填了。
只说思路就可以了。谢谢!
不要求源程序,讲下解题方法就可以。
谢谢!
又:“守望者的逃离”我想到了一部分,就是用while循环模拟每一秒的判断,并在魔法值足够时先把魔法值用完,伪码如下:
procedure escape(m,s,t:integer);
var
m2,s2,t2:integer;
begin
m2:=m;s2:=s;t2:=t;
while t2>=0 and s2>0 do
begin
if m2>=10 then
begin
s2:=s2-60;
m2:=m2-10;
end;
else if {......}{判断如果魔法值用完,下一步怎么走。}
{......}
t2:=t2-1;
end;
if s2=0 then
write('yes ',t-t2);
else if t2<=0 then
write('no ',s-s2);
end.
然后“……”里面的不会填了。
只说思路就可以了。谢谢!