Files
DataStructureAndAlgorithm/2023202/main.cpp
unlockable 8a44704bdd AC!
2023-10-08 00:28:37 +08:00

47 lines
968 B
C++

#include <stdio.h>
struct Node{
int prev, next;
};
Node map[100000];
int main() {
map[0].prev = 1;
map[0].next = 1;
map[1].prev = 0;
map[1].next = 0;
int n;
int cmd, x, y;
scanf("%d", &n);
while (n) {
scanf("%d %d", &cmd, &x);
switch(cmd) {
case 1: {
scanf("%d", &y);
map[y].prev = x;
map[y].next = map[x].next;
map[x].next = y;
map[map[y].next].prev = y;
break;
}
case 2: {
printf("%d\n", map[x].next);
break;
}
case 3: {
map[map[x].prev].next = map[x].next;
map[map[x].next].prev = map[x].prev;
break;
}
}
n--;
}
int cur = map[0].next;
while (cur != 0) {
printf("%d\n", cur);
cur = map[cur].next;
}
return 0;
}