時間限制 1000 ms ・ 記憶體限制 256 MB
題目描述
模擬一個只支援 >、<、+、-、. 五種指令的 Brainfuck 處理器。指令由左至右依序執行。
記憶體由 100 個位元組組成,每個位元組的值介於 0 到 255。每筆測試開始時,所有值都是 0,指標指向最左邊的位元組。
>:指標向右移動一格;從最右邊再向右會回到最左邊。<:指標向左移動一格;從最左邊再向左會回到最右邊。+:目前位元組加 1;255 加 1 會變成 0。-:目前位元組減 1;0 減 1 會變成 255。.:顯示目前位元組的值,但不改變記憶體或指標。
本題要求的是整段程式執行完畢後的記憶體內容;不需要輸出 . 指令顯示的中間結果。
輸入格式
第一行為測試筆數 T,T ≤ 100。
接下來 T 行,每行是一筆測試的指令序列,只包含上述五種指令,行長度小於 100000。每筆測試都使用重新初始化的記憶體與指標。
輸出格式
每筆測試輸出一行,格式為 Case t: D,其中 t 為從 1 開始的測試編號。
D 是 100 個位元組由最左邊至最右邊的值。每個值都以恰好兩位的大寫十六進位表示(00 到 FF),不足兩位時補前導零。相鄰數值之間恰好一個空白,冒號後也有一個空白。
原題 PDF 將範例的指令及輸出折行排版;實際上每筆指令及對應輸出各占一行。
題目來源
範例測資
範例輸入 1
1 ..++<><<+++>>++++++++++++++++++++++++++>>>+++<+...++<><<+++>>++++++++++++++++++++++++++>>>+++<+...++<><<+++>>++++++++++++++++++++++++++>>>+++<+.
範例輸出 1
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
請先登入後再提交程式碼
討論與題解
載入討論區…