KiKi有一个矩阵,他想知道经过k次行变换或列变换后得到的矩阵。请编程帮他解答。
KiKi有一个矩阵,他想知道经过k次行变换或列变换后得到的矩阵。请编程帮他解答。
第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10)
从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。提示:当t为别的字符时不需要处理接下来一行输入k,表示要执行k次操作(1≤k≤5)。接下来有k行,每行包括一个字符t和两个数a和b,中间用空格格分隔,t代表需要执行的操作,当t为字符'r'时代表进行行变换,当t为字符'c'时代表进行列变换,a和b为需要互换的行或列(1≤a≤b≤n≤10,1≤a≤b≤m≤10)。
输出n行m列,为矩阵交换后的结果。每个数后面有一个空格。
2 2 1 2 3 4 1 r 1 2
3 4 1 2
2 2 1 3 6 8 2 c 1 2 t 1 2
3 1 8 6
当t为别的字符时不需要处理,所以只交换了原矩阵的第1列和第2列。
row,col = map(int,input().split()) arr = list(input().split() for _ in range(row)) k = int(input()) for _ in range(k): r,n,m = input().split() n = int(n)-1 m = int(m)-1 if r=="r": arr[n],arr[m] = arr[m],arr[n] elif r=="c": for i in range(row): arr[i][n],arr[i][m] = arr[i][m],arr[i][n] else: pass for i in arr: print(*i)
n, m = map(int, input().split()) a = [] for i in range(n): a.append(list(map(int, input().split()))) b = int(input()) for i in range(b): t, x, y = input().split() if t == "r": s = a[int(x) - 1] a[int(x) - 1] = a[int(y) - 1] a[int(y) - 1] = s elif t == "c": for j in range(n): s1 = a[j][int(x) - 1] a[j][int(x) - 1] = a[j][int(y) - 1] a[j][int(y) - 1] = s1 for i in a: print(*i)
m,n = map(int,input().split()) x = list(input().split() for _ in range(m)) k = int(input()) for _ in range(k): t,a,b = input().split() if t == 'r': i = x[int(a)-1] x[int(a)-1] = x[int(b)-1] x[int(b)-1] = i elif t == 'c': for i in range(m): p = x[i][int(a)-1] x[i][int(a)-1] = x[i][int(b)-1] x[i][int(b)-1] = p for i in x: print(*i)