//利用两个队列就可以解决问题,一个出队,一个入队!
//但是就开始的时候我没有考虑到当输入的牌数小于或等于2的情况,所以WA了一次!
#include "iostream"
#include "deque"
using namespace std;
int main()
{
int TestCase;
cin >> TestCase;
while (TestCase--)
{
int Num;
cin >> Num;
deque<int> d1;
deque<int> d2;
deque<int >::iterator it;
for (int i = 1; i <= Num; i++)
d1.push_back(i);
if (d1.size() > 2)
{
while (d1.size() > 2)
{
int temp1, temp2;
temp1 = d1.front();
d1.pop_front();
temp2 = d1.front();
d1.pop_front();
d1.push_back(temp2);
d2.push_back(temp1);
}
for (int i = 1; i <= 2; i++)
{
int temp;
temp = d1.front();
d1.pop_front();
d2.push_back(temp);
}
for (it = d2.begin(); it != d2.end(); it++)
cout << (*it) << " ";
cout << endl;
}
else
{
for (it = d1.begin(); it != d1.end(); it++)
cout << (*it) << " ";
cout << endl;
}
}
}
sicily 1931
最新推荐文章于 2019-06-26 23:26:57 发布