顯示器的程式是一道道循序執行的指令,僅包含五個brainfuck指令:'>', '<', '+', '-', '.',請見下表說明。該顯示器的記憶體大小為100位元(byte),記憶體內容皆被初始化為0,並有一個指標暫存器(一開始指向最左邊的位元),當指標暫存器指向最右邊的位元時,在加1後變為指向最左邊的位元,反正亦然。每一個位元值則是在0到255之間作循環。
指令 | 說明 |
> | 指標暫存器加1(指向右邊下一個位元)。 |
< | 指標暫存器減1(指向左邊上一個位元)。 |
+ | 指標指向的位元值加1。 |
– | 指標指向的位元值減1。 |
. | 輸出指標所指到的位元值。 |
INPUT
輸入的第一列有一整數T(T <= 100)表示測試資料的組數,接下來有T組測試資料,每組一列表示程式碼,每列長度不會超過100000個字元。OUTPUT
每組測試資料輸出格式為"Case T: D",T表示測試資料編號,D表示該顯示器在執行完程式後的記憶體傾印資料(以16進制表示),每個位元須以空白字元隔開,請參考範例資料。請注意輸入與輸出的範例資料為了方便閱讀已被分為許多列,實際資料並非如此。SAMPLE INPUT
1 ..++<><<+++>>++++++++++++++++++++++++++>>>+++ <+...++<><<+++>>++++++++++++++++++++++++++>>> +++<+...++<><<+++>>++++++++++++++++++++++++++ >>>+++<+.
SAMPLE OUTPUT
Case 1: 1F 00 20 03 1D 03 01 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00
原文出處
沒有留言:
張貼留言