/ / 题库 /

BF

BF

测试数据来自 nnu_contest/1276

BF

时间限制:1s

空间限制:64MB

题目背景

Brainfuck是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。

BF程序运行时,程序会指向一个字节,字节初始的值均为0。

该语言共有\(8\)个指令,如下:

指令 含义
> 程序指向下一个字节
< 程序指向上一个字节
+ 当前字节的值加1
- 当前字节的值减1
. 根据当前字节的值,输出(ASCII码)对应的字符
, 输入当前字节的值
[ 如果程序当前指向的单元值为零,向后跳转到对应的]指令的下一指令处
] 如果程序当前指向的单元值不为零,向前跳转到对应的[指令的下一指令处

最后两种指令可以用来实现循环,不过这里我们不讨论它。

题目描述

保证程序中仅仅出现\(> \ <\ +\ - \ \)和 \(.\) 共计五种指令。给出一个BF程序,请输出运行的结果。

输入格式

一个字符串,仅包含五种指令。

输出格式

程序运行的结果。

样例输入1

+++++++++++++++++++++++++++++++++++++++++++++++++.------.++++++.

样例输出1

1+1

样例1解释

程序连续将初始字节增加49次并输出字符‘1’,之后减少6次并输出字符'+',增加6次后再次输出字符'1'

样例输入2

++++++++++++++++++++++++++++++++++++++++++++++++>+++++++++++++++++++++++++++++++++++++++++++++++++<.>.

样例输出2

01

样例2解释

初始字符自增了48次,其下一个字节自增了49次。

程序最后四条指令<.>.先返回到初始字节输出'0',然后跳到下一个字节输出'1'

样例输入3

<<+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.>++++++++++++++++++++++++++++++++.<++++++++++++++++++++++++++++++++><+++.+++.+++++++.-----------------.>.<++++++++++++++++++++.----------.++++++.>++++++++++++++.

样例输出3

I love you.

数据范围及限制

对于前\( 50\%\)的数据,只出现'+' '-'或'.'命令,程序长度不超过\(10^3\)。

对于\(100\%\)的数据,保证:

程序长度不超过\(10^5\),程序没有语法错误。

注意: \(10^5 = 100000\)

程序中仅出现上述五种指令,不会出现多余的空格、换行符等。

程序运行过程中,任意一个字节的值都在\([0,127]\)中

程序要输出的字符的ASCII码一定在\([32,126]\)中。

程序不会通过使用'<'或'>'命令而偏移到距离初始位置100字节以上的位置。

信息

ID
2321
难度
9
分类
(无)
标签
递交数
8
已通过
2
通过率
25%
上传者