a096: 矩陣轉換
標籤 : 10503 APCS
通過比率 : 33人/34人 ( 97% ) [非即時]
評分方式:
Tolerant

最近更新 : 2024-01-03 10:30

內容

矩陣是將一群元素整齊的排列成一個矩形,在矩陣中的橫排稱為列 (row),直排稱
為行 (column),其中以 Xij 來表示矩陣 X 中的第 i 列第 j 行的元素。如圖一中,
X32 = 6。
我們可以對矩陣定義兩種操作如下:
翻轉:即第一列與最後一列交換、第二列與倒數第二列交換、...依此類推。
旋轉:將矩陣以順時針方向轉 90 度。
例如:矩陣 X 翻轉後可得到 Y,將矩陣 Y 再旋轉後可得到 Z。

14
25
36

 矩陣 X  

 
36
25
14

矩陣Y

 

123
456

 矩陣Z

一個矩陣 A 可以 經過一連串的 旋轉 與翻轉 操作後,轉換成 新矩陣 B。如圖二中, A 經過翻轉與兩次旋後,可以得到 經過翻轉與兩次旋後,可以得到 經過翻轉與兩次旋後,可以得到 B。給定矩陣 B 和一連串的 操作 ,請算出原 始的矩陣 A。 

11
13
21

>>翻轉

21
13
11

>>旋轉

112
131

>>旋轉

11
31
21

 

輸入說明

第一行有 三個介於 1與 10 之間的 正整數 R, C, M。接下來 有 R 行(line) 是矩陣 B的 內容 ,每一行 (line) 都包含 C 個正整數 ,其中的第 i 行第 j 個數字代表矩陣 Bij 的 值。在矩陣內容後的一行有 M個整數, 表示 對矩陣 A 進行的操作 。第 k 個整數 mk 代表第 k 個操作 ,如果 mk = 0則代表 旋轉 ,mk = 1 代表 翻轉 。同一行的數字之間 都是以一個空白間格 ,且矩陣內容為 0~9 的整數 。

輸出說明

輸出包含兩個部分。第一部分有一行,包含二個正整數 R' 和 C',以一個空白隔開, 分別 代表矩陣 A 的列數和行數。接下來有 R' 行, 每一行都 包含 C' 個正 整數 ,且 每一行的 整數 之間以一個空白隔開 ,其中第 i 行的第 j 個數字代表矩陣 個數字代表矩陣 Aij 的值 。每一行的最後個數字並無空白。 

範例輸入 #1
3 2 3
1 1
3 1
1 2
1 0 0
範例輸出 #1
3 2
1 1
1 3
2 1
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (50%): 1.0s , <1K
公開 測資點#1 (50%): 1.0s , <1K
提示 :
標籤:
10503 APCS
出處:
APCS [管理者: ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」