#include<stdio.h> int main() { int arr[10][10] = { 0 }, n = 0, m = 0, input = 0; char inst = '0'; int k = 0, target1 = 0, target2 = 0; //输入矩阵维数 scanf("%d %d\n", &n, &m); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { //输入矩阵 scanf("%d ", &input); arr[i][j] = input; } } //输入操作次数 scanf("%d\n", &k); while (k--) { //输入具体操作和目标行列 scanf("%c %d %d\n", &inst, &target1, &target2); target1--, target2--; if (inst == 'r') { for (int j = 0; j < m; j++) { //行变换 arr[target1][j] = arr[target1][j] ^ arr[target2][j]; arr[target2][j] = arr[target1][j] ^ arr[target2][j]; arr[target1][j] = arr[target1][j] ^ arr[target2][j]; } } else if (inst == 'c') { for (int i = 0; i < n; i++) { //列变换 arr[i][target1] = arr[i][target1] ^ arr[i][target2]; arr[i][target2] = arr[i][target1] ^ arr[i][target2]; arr[i][target1] = arr[i][target1] ^ arr[i][target2]; } } } //输出矩阵 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { printf("%d ", arr[i][j]); } printf("\n"); } return 0; }