80分求助!
查看原帖
80分求助!
1237046
JiangHaoXuan15楼主2024/11/23 21:31
#include <iostream>
#include <list>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
int main()
{
    list<int> ns;
    ns.push_back(1);

    int n;
    cin >> n;
    vector<int> os, n1s, n2s;
    for(int i=0; i<n; ++i)
    {
        int o, n1, n2;
        cin >> o;
        if(o ==  1)
            cin >> n1 >> n2;
        else
        {
            cin >> n1;
            n2 = -1;
        }
        os.push_back(o);
        n1s.push_back(n1);
        n2s.push_back(n2);
    }

    for(unsigned int i=0; i<os.size(); ++i)
    {
        list<int>::iterator it;
        int o = os[i];
        int n1 = n1s[i];
        int n2 = n2s[i];
        if(o == 1)
        {
            it = find(ns.begin(), ns.end(), n1);
            if(it != ns.end())
            {
                ++it;
                ns.insert(it, n2);
            }
        }
        else if(o == 2)
        {
            it = find(ns.begin(), ns.end(), n1);
            if(it != ns.end())
            {
                ++it;
                if(it != ns.end())
                    cout << *it << endl;
                else
                    cout << 0 << endl;
            }
        }
        else
        {
            it = find(ns.begin(), ns.end(), n1);
            if(it != ns.end())
            {
                ++it;
                ns.erase(it);
            }
        }
    }

    return 0;
}
2024/11/23 21:31
加载中...