找不到哪里错了
查看原帖
找不到哪里错了
540887
MoomKey楼主2022/3/13 19:42
using namespace std;
typedef unsigned long long ll;
int n,cnt,k,t;  
string str;
int a[1005],b[1005],c[1005],d[1005]; 
typedef pair<int ,int> PII;
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin>>t;
	while(t--){
		cin>>n;
		for(int i=0;i<n;i++){
			cin>>a[i];
			c[i]=a[i];
		}
		for(int i=0;i<n;i++){
			cin>>b[i];
			d[i]=b[i];
		}
		sort(c,c+n);
		sort(d,d+n);
		int flag=1;
		for(int i=0;i<n;i++){
			if(c[i]!=d[i]){
				flag=0;break;
			}
		}
		if(flag==0){
			cout<<"No\n";
		}
		else {
			vector<PII> vt;
			for(int i=0;i<n;i++){
				for(int j=i;j<n;j++){
					if(b[j]==a[i]){
						if(j==i)break;
						for(int k=j;k>i;k--){
							swap(b[k],b[k-1]);
							vt.push_back({k,k-1});
						}
						break;
					}
				}
			}
			cout<<"Yes\n";
			for(int i=0;i<vt.size();i++){
				cout<<vt[i].first+1<<" "<<vt[i].second+1<<"\n";
			}
			cout<<"0 0\n";
		}	
	}
	return 0;
} 
2022/3/13 19:42
加载中...