luogu#P2027. bf

bf

题目描述

bf 是一种编程语言,全称为 BrainFuck,因为题目名称不能太露骨,所以就简写成 bf 了。

这种语言的运行机制十分简单,只有一个大小为 3000030000 的有符号 88 位整数(范围 [128,127][-128,127] )的内存槽,和一个指向内存槽中位置的指针,在最初的时候指向内存槽的第一个整数。

这种语言的字符集也是十分的简单,只有+ - , . > < []

字符|意义
<  |指针所指向的内存地址减一。
>  |指针所指向的内存地址加一。
+  |指针所指向的内存里面的数值加一。
-  |指针所指向的内存里面的数值减一。
.  |输出当前指针所指向的内存里面的数值(以字符形式输出)。
,  |将读入缓冲区中的一个字节送入当前指针指向的内存里面。如果读入缓冲区为空则送入-1。
[  |当前指针指向的内存里面的数值不为0时,重复执行与之相匹配的]之间的语句,直到回到[时当前指针指向的内存中的数值为0。
]  |如上。

输入格式

输入数据若干行,代码有注释。直到一个 $ 为代码截止。

$ 后面紧跟一个空格(不属于输入缓冲区),空格后面是输入缓冲区里面的内容,以一个空格和一个 $ 截止。

输出格式

输出这段代码的执行结果。

write whatever u c ,.,.,.,. $ asdf $
asdf

提示

对于 10%10\% 的数据,没有循环。

对于另外 10%10\% 的数据,循环没有嵌套。

对于 100%100\% 的数据,输入的程序不会访问越界,输入的程序能够在 10610^6 步内运行结束,| 输入的字符串 | 30000\leq 30000。 字符在内存中的数值为字符所对应的 Ascii 码。