10分,大佬求救OvO
查看原帖
10分,大佬求救OvO
1604276
handless楼主2024/12/24 11:26
#include <iostream>
using namespace std;

const int N=1e6+10;
int xb=1;
int date[N],ne[N];
int mp[N];


void insert_back(int x,int y)
{
  xb++;
  date[xb]=y;
  mp[y]=xb;
  int p = mp[x];
  ne[y]=ne[p];
  ne[p]=xb;
}


void find(int x)
{
  int p = mp[x];
  cout << date[ne[p]] << endl;
}


void erase_back(int x)
{
  xb--;
  int p = mp[x];
  ne[p]=ne[ne[p]];
}


int main()
{
  date[xb]=1;
  mp[1]=xb;   
  int q;
  cin >> q;
  for(int i=0;i<q;i++)
  {
    int cx,x;
    cin >> cx >> x;
    if(cx==1)
    {
      int y;
      cin >> y;
      insert_back(x,y);
    }
    else
    {
      if(cx==2)
      {
        find(x);
      }
      else
      {
        erase_back(x);
      }
    }
  }
  return 0;
}
2024/12/24 11:26
加载中...