現在有一個 $N\times M$ 表格,每個格子內有一個小寫英文字母,我們用 $(i,j)$ 代表由上而下第 $i$ 橫列,由左而右第 $j$ 直排的格子。你必須對表格依序執行 $Q$ 次操作,操作主要分成兩種。
第一種操作為「旋轉」操作,每個旋轉操作會伴隨著一個正整數 $t$,表示要連續的將整個表格順時針旋轉 $90$ 度 $t$ 次。一個 $R\times C$ 的表格順時針旋轉 $90$ 度後,會變成一個 $C\times R$ 的表格,而原本位於 $(i,j)$ 的格子會跑到 $(j,R+1-i)$。舉例來說,以下左邊 $2\times 3$ 的表格旋轉 $90$ 度一次會變成右邊 $3\times 2$ 的表格。
第二種操作為「翻轉」操作,這種操作還會再細分成四種翻轉操作:水平翻轉、垂直翻轉以及主副對角線翻轉。這四種翻轉操作的變化如下:
舉例來說,以下左邊 $2\times 3$ 的表格經過水平、垂直、主副對角線翻轉後會分別變成右邊四個表格。
執行完所有操作後,請回答最後表格的長相。
第一行輸入三個整數 $N,M,Q$。
接下來輸入 $N$ 行,第 $i$ 行輸入一個長度為 $M$ 的字串 $s_i$,其中 $s_i$ 的第 $j$ 個字元代表一開始 $(i,j)$ 內的小寫英文字母。
接下來再輸入 $Q$ 行,第 $i$ 行包含一個英文字母 $op_i$ 和一個整數 $t_i$,其意義如下:
範圍限制:
第一行輸出兩個正整數 $N',M'$,代表經過所有操作後會得到一個 $N'\times M'$ 的表格。
接下來輸出 $N'$ 行,第 $i$ 行輸出一個長度為 $M'$ 的字串 $s'_i$,其中 $s'_i$ 的第 $j$ 個字元代表最後 $(i,j)$ 內的小寫英文字母。
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~1 | 範例測資 | 0 |
2 | 0~34 | 無額外限制 | 100 |