Files
python/TangDou/XiTi/1376.cpp
HuangHai 1f397eca87 'commit'
2025-08-30 18:35:01 +08:00

39 lines
1.0 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <bits/stdc++.h>
using namespace std;
//好题!
//如果需要性能上的优化防止TLE的话https://blog.csdn.net/QQGUOsiBO/article/details/104215038
int main() {
//key:原来牌的位置索引value是指牌的号
map<int,int> _map;
int n;
cin >> n;
queue<int> q;
for (int i = 1; i <= n; ++i) {
q.push(i);
}
int count = 0;
while (!q.empty()) {
//弹出最上面
int out = q.front();
q.pop();
//第几个出列了
count++;
_map[out] = count;
//需要向后移动count+1张牌
if (!q.empty()) {
for (int i = 0; i < count + 1; ++i) {
int t = q.front();
q.pop();
q.push(t);
}
}
}
//遍历_map进行输出,因为_map是按key有序的所以可以直接输出
for(map<int,int>::iterator it=_map.begin();it!=_map.end();it++)
cout<<it->second<<" ";
return 0;
}