(一)思路:
由题知:我们可以知道q的值是要小于n的,这样才成立,那么就以两层循环来做,外面循环次数为q-1次,里面循环次数为n,执行完后再执行n次(这一步我是为了换行)。掌握移动元素方法。
(二)代码:
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
long long n,q;
cin>>n;
cin>>q;
long long a[n],b[q];
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=q;i++)
{
cin>>b[i];
}
for(int i=1;i<=q-1;i++)
{
int t;
int c=0;
for(int j=1;j<=n;j++)
{
if(b[i]==a[j])
{
cout<<j<<" ";
t=j;
c=a[j];
break;
}
}
for(int w=t;w>1;w--)
{
a[w]=a[w-1];
}
a[1]=c;
}
for(int j=1;j<=n;j++)
{
if(b[q]==a[j])
{
int t;
cout<<j<<endl;
break;
}
}
return 0;
}
京公网安备 11010502036488号