这是一个调试工具:
#include<bits/stdc++.h>
#define int long long
using namespace std;
bool a[1005][1005];
int n;
void h(int x,int y){
for(int i=1;i<=n;i++)
swap(a[x][i],a[y][i]);
}
void l(int x,int y){
for(int i=1;i<=n;i++)
swap(a[i][x],a[i][y]);
}
void out(){
for(int i=1;i<=n;i++,puts(""))
for(int j=1;j<=n;j++)
if(a[i][j])cout<<'#';
else cout<<'.';
}
signed main(){
cin>>n;
for(int i=1;i<n;i++){
int u,v;
cin>>u>>v;
a[u][v]=1;
}
out();
int q;
cin>>q;
while(q--){
int op,x,y;
cin>>op>>x>>y;
if(op==1)h(x,y);
else l(x,y);
out();
}
return 0;
}
如何使用:
先仿照题目输入格式输入初始局面,然后接着输入操作次数,把操作喂给它,它会给你看每次操作后的局面。