a545. CPE:Interpreting Control Sequences (UVa 337)

中等CPE

時間限制 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|
+----------+
請先登入後再提交程式碼

討論與題解

載入討論區…

更多