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
- 1051
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者