0
已解决
梁逸凡
资深守护
资深守护
lzz今天学会了插入排序,他觉得插入排序很有趣。现在他有一个长为n的序列,而且这个序列中没有相同的数。现在他想对这个数列进行m次操作。每次操作他会选择一个序列中的元素x,然后他可以选择将x从序列中拿出来放到序列的尾部;或者将x取出来,然后把序列按顺序输出,再将x插入到原来的位置。但是他做了很久也没做出来,于是他请你来完成这个任务。
输入描述 Input Description
第一行输入一个整数n。
第二行按顺序输入n个整数,表示lzz的序列。
第三行输入一个整数m。
后面m行,每行两个整数a,b,若a=0,表示lzz将b取出来并放到序列的尾部;若a=1,表示lzz要将b取出来后输出,然后再将b放回原位。
(1<=n,m<=5000)
输出描述 Output Description
对于每一个a=1,输出一行。
每行n-1个整数,表示lzz取出了b之后的序列。
WA0
#include<iostream>
using namespace std;
int a[10009],t,n;
int main(){
cin>>n;
t=n;
while(t--)
{
int x,num;
cin>>x>>num;
if(x==0)
{
int p=0;
for(int i=1; i<=n; i++)
if(a[i]==num)
{
p=i;
break;
}
for(int i=p; i<=n; i++)
a[i]=a[i+1];
a[n]=num;
}
else
{
for(int i=1; i<=n; i++)
if(a[i]!=num) cout<<a[i]<<' ';
cout<<endl;
}
}
return 0;
}