Content

Input

第一行有三個介於1與10之間的正整數 R,C,M。

接下來有 R 行(line)是矩陣 B 的 內容, 每一行(line)都包含 C 個正整數, 其中的第 i 行第 j 個數字代表矩陣 Bij 的 值。

在矩陣內容後的一行有 M 個整數, 表示對矩陣 A 進行的操作。

第 k 個整數 mk 代表第 k 個操作, 如果 mk=0 則代表旋轉, me=k 代表翻轉。

同一行的數字之間 都是以一個空白間格,且矩陣內容為0~9的整數。

Output

輸出包含兩個部分。

第一個部分有一行,包含兩個正整數 R' 和 C', 以一個空白隔開,分別代表矩陣 A 的列數和行數。

接下來有 R' 行,每一行都包含 C' 個正整數,且每一行的整數之間以一個空白隔開,其中第 i 行的第 j 個數字代表矩陣 Aij 的值。

每一行的最後一個數字後並無空白。

Sample Input #1
// 第一筆測資
3 2 3
1 1
3 1
1 2
1 0 0

// 第二筆測資
3 2 2
3 3
2 1
1 2
0 1
Sample Output #1
// 第一筆測資
3 2
1 1
1 3
2 1

// 第二筆測資
2 3
2 1 3
1 2 3

python:

from sys import stdin
def ud(f):
    return f[::-1]#翻轉寫法(翻轉外圈,裡面不影響)

def frt(f):
    x=len(f[0])#直的
    y=len(f)#橫的
    t=[]#外list

    for o in range(x-1,-1,-1):
        h=[]#內list
        for p in range(y):
            h.append(f[p][o])#前面直後面橫
        t.append(h)#前面直後面橫
    return t
"""
    這裡是以後要改變舉正的寫法:
    外圈空list=[]
    for 外圈:
        內圈空list=[]
        for 內圈:
            內圈.append(元素)
        外圈.append(內圈)
"""


r,c,m0=map(int,stdin.readline().split())
f=[]
for _ in range(r):
    f.append(stdin.readline().strip().split())
    """
    一開始寫入二維list的方式,
    開一個空list
    for 迴圈:
        空list.append("輸入元素"stdin.readline().strip().split()->書進來的是字串列表)
    """
m1=stdin.readline().strip().split()[::-1]
for i in m1:
    if i =="1":#要翻轉
        f=ud(f)
    else:
        f=frt(f)

print(len(f),len(f[0]))
for W in f:
    print(*W)
文章標籤
全站熱搜
創作者介紹
創作者 趴趴熊日常 的頭像
趴趴熊日常

資工趴趴熊的小天地

趴趴熊日常 發表在 痞客邦 留言(0) 人氣(206)