帮忙看看哪错了
#include <bits/stdc++.h>
using namespace std;
int n,m,q,a[1001][1001],b[1001];
void dfs(int x, int y){//交换行
int c[1001];
for(int i=1;i<=n;i++)c[i]=a[i][x];
for(int i=1;i<=n;i++){
a[i][x]=a[i][y];
a[i][y]=c[i];
}
}
void bfs(int x, int y){//交换列
int c[1001];
for(int i=1;i<=m;i++)c[i]=a[x][i];
for(int i=1;i<=m;i++){
a[x][i]=a[y][i];
a[y][i]=c[i];
}
}
int main(){
cin>>n>>m>>q;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
while(q--){
int s1,s2,s3;
cin>>s1>>s2>>s3;
if(s1==1){
dfs(s2,s3);
}else if(s1==2){
bfs(s2,s3);
}else cout<<a[s2][s3]<<endl;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<a[i][j];
}
cout<<endl;
}
return 0;
}