问题在哪啊?
查看原帖
问题在哪啊?
568487
SeekingDefeatAlone楼主2022/8/5 10:02
#include<bits/stdc++.h>
using namespace std;

int t;
int n;

int main()
{
	scanf("%d",&t);
	
	for(int o=1;o<=t;o++)
	{
		scanf("%d",&n);
		int a[10000]={},b[10000]={},pd[10000]={};
		bool f=1;
		
		for(int i=1;i<=n;i++)
		{
			scanf("%d",&a[i]);
		}
		for(int i=1;i<=n;i++)
		{
			scanf("%d",&b[i]);
		}
		
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=n;j++)
			{
				if(a[i]==b[j])
				{
					pd[j]=1;
				}
			}
		}
		for(int i=1;i<=n;i++)
		{
			if(pd[i]==0)
			{
				cout<<"NO"<<endl;
				f=0;
				break;
			}
		}
		
		if(f)
		{
			cout<<"YES"<<endl;
			for(int k=1;k<=n;k++)
			{
				if(a[k]==b[k])
				{
					continue;
				}
				else
				{
					bool flag=1;
					for(int i=1;i<=n;i++)
					{
						if(flag)
						{
							for(int j=n-1;j>=k;j--)
							{
								if(a[j]!=a[j+1])
								{
									swap(a[j],a[j+1]);
									if(a[j]==b[j])
									{
										cout<<j+1<<" "<<j<<endl;
										flag=0;
									}
									else
									{
										cout<<j+1<<" "<<j<<endl;
									}
								}	
							}
						}
						else
						{
							break;
						}
					}
				}
			}
			cout<<0<<" "<<0<<endl;		
		}
	}
	
	return 0;
}
2022/8/5 10:02
加载中...