1
查看原帖
1
1026903
luyiping楼主2025/1/18 20:43
#include<bits/stdc++.h>
using namespace std;
queue<int> q;
int main()
{
    int x;
    int n;
    cin>>n;
    while(n--)
    {
        cin>>x;
        for(int i=1;i<=x;i++)
        {
            q.push(i);
        }
        while(q.size()>3)
        {
            int c=q.size();
            for(int i=1;i<=c;i++)
            {
                int y=q.front();
                q.pop();
                if(i%2!=0)
                {
                    q.push(y);
                }
	        }
            if(q.size()<=3)
            {
                break;
            }
            int d=q.size();
            for(int i=1;i<=d;i++)
            {
                int y=q.front();
                q.pop();
                if(i%3!=0)
                {
                    q.push(y);
                }
                //cout<<2;
            }
            if(q.size()<=3)
            {
                break;
            }
        }
        while(!q.empty())
        {
            cout<<q.front()<<" ";
            q.pop();
        }
        cout<<endl;
    }
    return 0;
}
2025/1/18 20:43
加载中...