问题标题: 酷町堂:1731 插入排序

0
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;
}

 


0
我要回答