#include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; const int _MAX=0x3f3f3f3f; const int N=1e6+10; unordered_map<int ,int>p; int e[N],l[N],r[N],idx=2; void insert(int x,int y){ int t=p[y]; e[idx]=x; r[idx]=r[t]; l[idx]=t; l[r[t]]=idx; r[t]=idx++; } void insert_head(int x){ e[idx]=x; r[idx]=r[0]; l[idx]=0; r[0]=idx++; } void remove(int x){ int t=p[x]; r[l[t]]=r[t]; l[r[t]]=l[t]; } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); r[0]=1; l[1]=0; int q; cin>>q; int x,y,z; int cnt=0; while(q--){ cin>>x; if(x==1){ cnt++; cin>>y>>z; p[y]=idx; if(z==0){ insert_head(y); } else { insert(y,z); } } else { cnt--; cin>>y; remove(y); p.erase(y); } } cout<<cnt<<'\n'; for(int i=r[0];i!=1;i=r[i]){ cout<<e[i]<<' '; } return 0; }
全部评论
(0) 回帖