矩陣是將一群元素整齊的排列成一個矩形,在矩陣中的橫排稱為列 (row),直排稱
為行 (column),其中以 Xij 來表示矩陣 X 中的第 i 列第 j 行的元素。如圖一中,
X32 = 6。
我們可以對矩陣定義兩種操作如下:
翻轉:即第一列與最後一列交換、第二列與倒數第二列交換、...依此類推。
旋轉:將矩陣以順時針方向轉 90 度。
例如:矩陣 X 翻轉後可得到 Y,將矩陣 Y 再旋轉後可得到 Z。
1 | 4 |
2 | 5 |
3 | 6 |
矩陣 X
3 | 6 |
2 | 5 |
1 | 4 |
矩陣Y
1 | 2 | 3 |
4 | 5 | 6 |
矩陣Z
一個矩陣 A 可以 經過一連串的 旋轉 與翻轉 操作後,轉換成 新矩陣 B。如圖二中, A 經過翻轉與兩次旋後,可以得到 經過翻轉與兩次旋後,可以得到 經過翻轉與兩次旋後,可以得到 B。給定矩陣 B 和一連串的 操作 ,請算出原 始的矩陣 A。
1 | 1 |
1 | 3 |
2 | 1 |
>>翻轉
2 | 1 |
1 | 3 |
1 | 1 |
>>旋轉
1 | 1 | 2 |
1 | 3 | 1 |
>>旋轉
1 | 1 |
3 | 1 |
2 | 1 |
第一行有 三個介於 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 的值 。每一行的最後個數字並無空白。
3 2 3 1 1 3 1 1 2 1 0 0
3 2 1 1 1 3 2 1
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |