#include <iostream>
using namespace std;
struct node {
int data;
node* next;
};
int main() {
int n;
cin >> n;
node* head = new node;
node* tail = head;
head -> data = 1;
for (int i = 2; i <= n; i++) {
int k, p;
cin >> k >> p;
node* new_node = new node;
new_node -> data = i;
if (p == 0) {
if (k == 1) {
new_node -> next = head;
head = new_node;
} else {
node* now = head;
while (now -> next -> data != k) {
now = now -> next;
}
}
} else {
tail -> next = new_node;
tail = new_node;
}
}
int m;
cin >> m;
}
已经RE了