记录
Code:
#include <bits/stdc++.h>
using namespace std;
list<int> l;
_List_const_iterator<int> findk(int k) {
for (auto i = l.cbegin(); i != l.cend(); i++) {
if (*i == k) return i;
}
return l.end();
}
int main() {
int n;
cin >> n;
l.push_back(1);
for (int i = 2; i <= n; i++) {
int k, p;
cin >> k >> p;
auto it = findk(k);
if (p) it++;
l.insert(it, i);
}
int m;
cin >> m;
while (m--) {
int x;
cin >> x;
auto it = findk(x);
if (it != l.end()) l.erase(it);
}
for (auto i = l.cbegin(); i != l.cend(); i++) {
cout << *i << " ";
}
return 0;
}