感觉对了,0分em......
#include<bits/stdc++.h> using namespace std ; const int N=1e5+5; int val[N],nxt[N],head,idx; void init() { head = -1; idx = 1; } void add_to_head(int x) { val[idx] = x; nxt[idx] = head; head = idx; idx++; } void add(int k,int x) { val[idx] = x; nxt[idx] = nxt[k]; nxt[k] = idx; idx++; } void remove(int k) { nxt[k] = nxt[nxt[k]]; } void putlist() { for(int i=head;i!=-1;i=nxt[i]) { cout<<val[i]<<" "; } } int main() { int m; cin>>m; init(); while(m--) { int k,x; add_to_head(x); char opt; cin>>opt; if(opt=='D') { cin>>k; if(!k) { head = nxt[head]; } remove(k); } if(opt=='T') { cin>>k>>x; add(k,x); } } putlist(); return 0; }