時間限制 2000 ms ・ 記憶體限制 256 MB
題目描述
模擬 10 列 × 10 欄的文字終端機,列與欄編號皆為 0 到 9。初始畫面全為空白、游標在 (0,0),模式為覆寫。
一般字元寫到游標處。覆寫模式會取代原字元;插入模式會先把該列游標及右邊字元往右移一格,最右字元丟棄,再寫入新字元。寫入後游標若能向右移動就移一格,不會換列。
^ 開始控制序列:
^b:移到目前列第 0 欄。^c:清空整個畫面,游標不變。^d、^u:向下、向上移一列,超出邊界則不動。^l、^r:向左、向右移一欄,超出邊界則不動。^e:清除目前列從游標到最右端的字元,游標不變。^h:游標移到 (0,0),畫面不變。^i:進入插入模式。^o:進入覆寫模式。^^:以目前模式寫入一個^。^rc:r、c 各為一個十進位數字,游標移到指定列、欄。
輸入格式
每組先有一行整數 N,接著 N 行為輸入字元串,忽略各行的換行,但空白是一般字元。控制序列不會跨行,也不會有非法控制序列或 Tab。N = 0 表示結束。
輸出格式
每組先輸出 Case k,k 從 1 開始。接著以 +----------+ 作為上下框,每一列兩側加 |,中間保留完整十個畫面字元,共輸出十列。
題目來源:UVa 337 — Interpreting Control Sequences。 原題:https://onlinejudge.org/external/3/337.pdf
範例測資
範例輸入 1
7 This is bad^h^c ^05^^ ^14/ \^d^b / \ ^u^d^d^l^l^l^l^l^l^l^l^l ^r^r< ACM >^l^l^d/^b \ ^b^d \ / ^d^l^lv 7 ^i9^l8^l7^l6^l5^l4^l3^l2^l1^l0 ^o^d^lThis is #1^d^bThis is #2 ^d^bThis is #3^d^bThis is #4 ^d^bThis is #5^d^bThis is #6 ^d^bThis is #7^d^bThis is #8 ^i^d^bThis is #9^d^bThis is #10 ^54^e Hello^d^l^l^l^lWorld 0
範例輸出 1
Case 1 +----------+ | ^ | | / \ | | / \ | | < ACM > | | \ / | | \ / | | v | | | | | | | +----------+ Case 2 +----------+ |0123456789| |This is #1| |This is #2| |This is #3| |This is #4| |This Hello| |This World| |This is #7| |This is #8| |This is #0| +----------+
請先登入後再提交程式碼
討論與題解
載入討論區…