解题2
2026-04-02 19:48:02
发布于:浙江
0阅读
0回复
0点赞
#include <iostream>
#include <list>
using namespace std;
int main() {
int n, m; cin >> n >> m;
list<int> L;
for (int i = 1; i <= n; ++i) L.push_back(i);
auto it = L.begin();
for (int len = n; len > 0; --len) {
// 移动 m-1 步(因当前 it 是第1个)
for (int i = 1; i < m; ++i) {
++it;
if (it == L.end()) it = L.begin();
}
cout << *it << " ";
it = L.erase(it); // erase 返回下一个有效迭代器
if (it == L.end()) it = L.begin();
}
}
这里空空如也







有帮助,赞一个