在线求找错
查看原帖
在线求找错
328036
zhangziqi135楼主2020/6/14 16:40
#include<bits/stdc++.h>
using namespace std;
int n,a[301],b[301],s[301][2],t=0;
int main()
{
	memset(a,0,sizeof(a));
	memset(b,0,sizeof(b));
	memset(s,0,sizeof(s));          
	cin>>n;
	for(int i=1;i<=n;i++)
	cin>>a[i];
	for(int i=1;i<=n;i++)
	cin>>b[i];
	for(int i=1;i<=n;i++)
	{
		if(a[i]==b[i]) continue;
		for(int j=i+1;j<=n;j++)
		{
			if(a[i]==b[j])
			{
				int f=j-i;
				for(int k=0;k<f;k++)
				{
					t++;
					swap(a[i+k],a[i+k+1]);
					s[t][1]=i+k;
					s[t][2]=i+1+k;
					if(a[i]==b[i]) k=f;
				}
				f=0;
				i=1;j=2;
			} 
		}	
		} 
	cout<<t<<endl;
	for(int i=1;i<=t;i++)
	{
		cout<<s[i][1]<<" "<<s[i][2];		
		cout<<endl;
	}
	return 0;
} 
2020/6/14 16:40
加载中...