1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| R, C, M = map(int, input().split()) matrix = [] for i in range(R): x = list(map(int, input().split())) matrix.append(x)
moves = list(map(int, input().split())) """ 原本的輸出經過1,0,0才得到後來的圖形 則後來的圖形需要經過0,0,1才能得到原來的圖形 """ moves = list(reversed(moves))
def flip(matrix): """ 讀取行(橫的),這裡直接用reversed函式就好,記得外面要加list() [1, 1] -> [1, 2]
[3, 1] -> [3, 1] [1, 2] -> [1, 1] """ return list(reversed(matrix))
def rotate_left(matrix): """ 讀取列(直的), index:(0,0)(1,0)(2,0)(0,1)(1,1)(2,1) [1, 2] -> [1, 3, 1] -> [2, 1, 1] [3, 1] -> [2, 1, 1] -> [1, 3, 1] [1, 1] -> """ temp = [] row = len(matrix) col = len(matrix[0]) for i in range(col): temp_row = [] for k in range(row): temp_row.append(matrix[k][i]) temp.append(temp_row)
return list(reversed(temp))
for i in range(M): if moves[i] == 1: matrix = flip(matrix) elif moves[i] == 0: matrix = rotate_left(matrix)
ROW = len(matrix) COL = len(matrix[0]) print(ROW, COL) for k in range(ROW): print(*matrix[k])
|