有N张写有数据的牌, 从上到下放成一堆,每次从上面取一张输出,再从上面取一张放回这堆牌的下面。重复这个过程,直到取完,发现取出牌上的数字恰巧是1,2,3...,N,问原先N张牌上的数是什么?
输入格式
第一行1个正整数:N,范围在[1,10000]。
输出格式
第一行1个正整数:N,范围在[1,10000]。
输入/输出例子1
输入:
4
输出:
1 3 2 4
建议先自己做
代码如下:
#include<bits/stdc++.h>
using namespace std;
int n,a[10005],x;
queue<int>q;
int main(){
cin >> n ;
for (int i=1;i<=n;i++)
q.push(i);
for (int i=1;i<=n;i++)
{
x=q.front();
a[x]=i;
q.pop();
q.push(q.front());
q.pop();
}
for (int i=1;i<=n;i++)
cout << a[i] << " " ;
return 0;
}