P2229 [HNOI2002]沙漠寻宝

    • 57通过
    • 141提交
  • 题目提供者
  • 评测方式 云端评测
  • 标签 各省省选 2002 湖南 高性能
  • 难度 省选/NOI-
  • 时空限制 1000ms / 128MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 体验新版界面

    最新讨论 显示

    推荐的相关题目 显示

    题目描述

    传说在漫无边际的沙漠中有一个古代城市的废墟,里面埋藏了大量的宝藏。听到这个消息的人一个又一个的前去寻宝,却没有发现一个回来的人。

    探险家Jack是冒险者队伍中的后起之秀,它加入冒险者队伍的时间虽然不长,却屡屡依靠自己过人的智慧使自己和队友们脱离了险境。“明知山有虎,偏向虎山行”。 在Jack探险队的宗旨的指引下,Jack和他的队友们踏上了沙漠寻宝的旅程。

    “我发现沙漠废墟了。”在一名队员的叫喊声中,Jack隐约看到了一些古代城市的残垣断壁和一个通道。 “一定就是这里了。”Jack带领着大家进入了通道。

    然而,不幸的事情发生了。就在Jack他们进入通道的同时,通道的入口“轰”的一声就关闭了。Jack和他的队友走到了通道的尽头,正前方是一个巨大的铁门。最令人奇怪的是,铁门竟然使用的是一个极度先进的带有键盘和显示器的电子密码锁,铁门旁还赫然写着开锁的方法:“想到得到我的宝藏的人们,到这里的路途很辛苦吧!不过这一切很快就会结束的,这个铁门就是你们的葬身之地。除非你们能够计算出我屏幕上程序的结果,并且通过键盘输入进去,这扇门就会打开,里面就是我所有的宝藏”

    我们的Jack果然不负众望,他打开了他的行囊,拿出了一个类似保险箱的东西。“没见过吗?这是最新型的笔记本电脑,没有它,我再怎么天才也不可能打开这扇门的。”面对大家疑惑的目光,Jack打开了笔记本电脑的开关。

    “这个宝藏主人的程序十分的奇怪,我虽然没见过,但根据我的猜测,它的结构应该是这样的:

    程序共包含6种语句:start,end,loop,continue,write,以及?=*形式的语句。

    start是程序的开始标志,其对应了一个结束标志end。

    loop后面空一格并紧跟了一个表达式*,表达式*的值N表示即将循环N次,对应的循环结束标志也是end。

    continue表示程序跳转到当前循环对应的end语句,break表示程序将跳出当前的循环。

    write后面空一格并紧跟了一个表达式*,表示要输出表达式*的值,也就是要输入到密码锁中的内容。

    ?=*是赋值语句,?是变量的名字,*计算出来的值是要给?的。

    另外,值得庆幸的是,变量名只允许使用’a’..’z’这26个小写字母,表达式也只允许使用加减乘除四种运算和以及括号,参与运算的也只能是26个变量或者是整数(允许不止一位整数)。表达式不会超过80个字符。”

    “希望Jack能很快将锁打开。”大家心里默念着。

    给定程序对所有语句的执行次数的总和小于2000000次。

    输入输出格式

    输入格式:

    输入文件为program.in,给出了宝藏主人的程序。其中任两条语句用若干个空格或回车符隔开。

    输出格式:

    输出文件为program.out,是你要输入密码锁的内容。每次输出占一行。

    输入输出样例

    输入样例#1: 复制
    start
         i=0
         j=0
         loop 100
              i=i+1
              j=j+i
              continue
              loop 10
                   write j
              end
         end
         loop 100
              j=j+1
              break
              j=j+1
         end
         write j
    end
    
    输出样例#1: 复制
    5051
    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。