1 条题解
- 
  1
参考答案:
#include<iostream> using namespace std; const int N = 100010; int idx = 2, e[N], l[N], r[N]; void add(int k, int x) { e[idx] = x, r[idx] = r[k], l[r[k]] = idx, l[idx] = k, r[k] = idx++; } void del(int a) { r[l[a]] = r[a]; l[r[a]] = l[a]; } int main() { int m; r[0] = 1, l[1] = 0; cin >> m; while (m--) { string op; int k, x; cin >> op; if (op == "L") { cin >> x; add(0, x); } else if (op == "R") { cin >> x; add(l[1], x); } else if (op == "D") { cin >> k; del(k + 1); } else if (op == "IL") { cin >> k >> x; add(l[k + 1], x); } else { cin >> k >> x; add(k + 1, x); } } for (int i = r[0]; i != 1; i = r[i]) cout << e[i] << ' '; return 0; } 
- 1
 
信息
- ID
 - 100
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 10
 - 标签
 - 递交数
 - 1
 - 已通过
 - 1
 - 上传者