矩阵交换

157 阅读1分钟
描述
KiKi有一个矩阵,他想知道经过k次行变换或列变换后得到的矩阵。请编程帮他解答。

输入描述:
第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10)

从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。
接下来一行输入k,表示要执行k次操作(1≤k≤5)。接下来有k行,每行包括一个字符t和两个数ab,中间用空格格分隔,t代表需要执行的操作,当t为字符'r'时代表进行行变换,当t为字符'c'时代表进行列变换,ab为需要互换的行或列(1ab≤n≤101ab≤m≤10)。


输出描述:
输出n行m列,为矩阵交换后的结果。每个数后面有一个空格。

image.png

n,m=list(map(int,input().split(" ")))
l1=[]
for i in range(n):
    row=list(map(int,input().split(" ")))
    l1.append(row)
k=int(input())
for i in range(k):
    op=input().split(" ")
    a=int(op[1])-1
    b=int(op[2])-1
    if op[0]=='r':
        l1[a],l1[b]=l1[b],l1[a]
    elif op[0]=='c':
        for j in range(n):
            l1[j][a],l1[j][b]=l1[j][b],l1[j][a]
    else:
        pass
for i in range(n):
    for j in range(m):
        print(l1[i][j],end=" ")
        if j==m-1:
            print("")