就是“纪念品分组”和“守望者的逃离”那两题!
不要求源程序,讲下解题方法就可以。
谢谢!

又:“守望者的逃离”我想到了一部分,就是用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.
    
然后“……”里面的不会填了。
只说思路就可以了。谢谢!