C++ 算法题:学生队列排列
#include
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;
}
原文地址: https://www.cveoy.top/t/topic/bzXt 著作权归作者所有。请勿转载和采集!