#include #include #include using namespace std;

int main() { int n; cin >> n;

vector<int> queue;
for(int i=1; i<=n; i++) {
    queue.push_back(i);
}

for(int i=2; i<=n; i++) {
    int k, p;
    cin >> k >> p;
    queue.insert(queue.begin() + k, i);
    if(p == 1) {
        reverse(queue.begin() + k, queue.begin() + k + i);
    }
}

int m;
cin >> m;
for(int i=0; i<m; i++) {
    int x;
    cin >> x;
    auto it = find(queue.begin(), queue.end(), x);
    if(it != queue.end()) {
        queue.erase(it);
    }
}

for(int i=0; i<queue.size(); i++) {
    cout << queue[i] << ' ';
}

return 0;

}

C++ 算法题:学生队列排列

原文地址: https://www.cveoy.top/t/topic/bzXt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录