c037: P79 矩陣轉換(APCS105年3月試題)
Tags : Python
Accepted rate : 1人/1人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2025-01-07 09:25

Content

問題描述

矩陣是將一群元素整齊的排列成一個矩形,在矩陣中的橫排稱為列(row),直排稱為行(column),其中以Xij 來表示矩陣X 中的第i 列第j行的元素。如圖一中,X32 = 6

我們可以對矩陣定義兩種操作如下:

翻轉:即第一列與最後一列交換、第二列與倒數第二列交換、…依此類推。

旋轉:將矩陣以順時針方向轉90 度。

例如:矩陣X 翻轉後可得到Y,將矩陣Y 再旋轉後可得到Z。

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

例如,輸入如下圖左,如圖二的B;輸出如下圖右,如圖二的A。

Input
Output

[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
input r c m:3 2 3
input data:input data:input data:a=
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 3, 1, 0, 0, 0, 0, 0, 0, 0], [0, 1, 2, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
input oper 0 or 1:oper
[1, 0, 0]
3 2
1 1
1 3
2 1

Sample Input #1
3 2 3
1 1
3 1
1 2
1 0 0
Sample Output #1

											
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1K
Hint :
Tags:
Python
出處:
[管理者: zero(育達管理員) ]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」