UVA11956 BrainFuck

题目背景

最近,你的朋友 Bob 买了一台可以用 BrainFuck 编程的新 LED 显示屏,但是直接在 LED 显示屏上运行程序非常耗时,因此 Bob 决定为显示屏的指令集编写一个解释器,以便先在自己的电脑上先调试好他的程序,确认无误后再将代码上传到显示屏运行。然而 Bob 只会一种编程语言——毫无疑问就是 BrainFuck,否则他也不会买这台 LED 显示屏了。所以,他来请你来帮他写这个解释器。

题目描述

[problemUrl]: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=229&page=show_problem&problem=3107 [PDF](https://uva.onlinejudge.org/external/119/p11956.pdf) 显示屏程序是一系列按顺序执行的指令。显示屏处理器的指令集是 BrainFuck 语言指令的一个子集。处理器能够执行的指令包括:`>`、`` | 指针所指向的内存地址加 $1$。 | | `` 操作,指针将指向最左边的字节,反之亦然。 每个内存所存储的数值,因此当存储的数值为 $255$ 时,再进行一次 `+` 操作将会得到 $0$,反之亦然。

输入格式

输入共 $N+1$ 行。 第一行输入一个整数 $N$,表示测试组数。 随后 $N$ 行,每行输入一个字符串 $s_i$($1\leq i\leq N$),表示显示屏处理器的指令。

输出格式

输出共 $N$ 行。 对于第 $T$ 组测试,先输出一串字符串 `Case T: `,然后以十六进制输出 $100$ 个整数 $A_1,A_2,A_3,\dots,A_{100}$,其中 $A$ 是 LED 显示屏的循环内存数组。每个 $A_i$($1\leq i \leq 100$)以一个空格分隔。

说明/提示

### 数据规模与约定 规定 $|x|$ 表示字符串 $x$ 的长度。 对于 $100\%$ 的数据,$1\leq N\leq 100$,$1\leq|s_i|\leq 10^5$($1\leq i\leq N$),$1\leq T\leq N$,$0\leq A_i \leq 255$($1\leq i\leq100$)。