題目描述
商店門口的電子招牌由 R 列、C 行的字母燈組成。老闆能按鈕讓其中一整列向右捲動,或讓其中一整行向下捲動。這不是把字母丟掉:捲出邊界的字母會繞回同一列或同一行的另一端,形成循環。
操作 R r k 只影響第 r 列:該列每個字母同時往右移動 k 格,超出最右邊便從最左邊出現。操作 C c k 只影響第 c 行:該行每個字母同時往下移動 k 格,超出最下方便從最上方出現。沒有被指定的其他列或行不會在該次操作中主動移動。
老闆會連續下達多個指令,後一個指令看到的是前一個指令完成後的招牌。因此,先移列再移行,和先移行再移列,結果不一定相同。移動 0 格或剛好移動完整一圈時,該次操作不改變畫面;很大的 k 也照循環規則處理。
輸入格式
第一行 R C,接著 R 行字母;下一行為操作數 Q;接著 Q 行,每行格式為 R r k 或 C c k。列、行編號從 1 開始。
限制
- 1 ≤
R, C≤ 50;1 ≤Q≤ 200;0 ≤k≤ 10⁹ - 方格只包含大寫英文字母,操作編號都在範圍內
輸出格式
輸出操作後的 R 行字母方格。
範例1
範例輸入:
2 3
ABC
DEF
2
R 1 1
C 2 1
範例輸出:
CEB
DAF
先把第一列 ABC 右移成 CAB;接著第二行的 A、E 循環向下交換,得到最後的兩列。
範例2
範例輸入:
1 1
Z
2
R 1 100
C 1 200
範例輸出:
Z
列與行都只有一格,無論循環移動多少次,字母仍是 Z。
範例測資
範例輸入 1
2 3 ABC DEF 2 R 1 1 C 2 1
範例輸出 1
CEB DAF
範例輸入 2
1 1 Z 2 R 1 100 C 1 200
範例輸出 2
Z
請先登入後再提交程式碼
討論與題解
載入討論區…