#include <iostream> #include <deque> using namespace std; int main() { int n, m; cin >> n >> m; // 输入人数和指令数 deque<int> queue; // 使用双端队列来模拟队列的变化 for (int i = 1; i <= n; ++i) { queue.push_back(i); // 初始化队列,将每个同学的编号依次加入队列 } int x; for (int i = 0; i < m; ++i) { cin >> x; // 输入每次指令的x值 // 找到编号为x的同学在队列中的位置,并将其移到队列的最前面 auto it = find(queue.begin(), queue.end(), x); if (it != queue.end()) { queue.erase(it); // 从队列中移除编号为x的同学 queue.push_front(x); // 将编号为x的同学加到队列的最前面 } } // 输出执行完所有指令后的队列 for (int i = 0; i < queue.size(); ++i) { if (i > 0) cout << " "; // 在每个数之间输出一个空格 cout << queue[i]; } cout << endl; return 0; } /************************************************************** Problem: 1527 User: chenjingqi Language: C++ Result: Compile Error ****************************************************************/