#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector< bool> all(100,false);
int opt, order;
cin >> opt;
for (int i = 0; i < opt; i++)
{
cin >> order;
bool done = false;
for (int i = 0; i < 20; i++)
{
if (count(all.begin() + i * 5, all.begin() + 5 * (i + 1), false) >= order)
{
int count(order);
for (int t = 1; t <= count; t++)
{
if (all[i * 5 + t - 1])
{
count++;
continue;
}
cout << i * 5 + t<<' ';
all[i * 5 + t - 1] = true;
}
cout << endl;
done = true;
break;
}
}
if(!done)
{
for(int i=0;i<100;i++)
if (!all[i])
{
cout << i + 1;
all[i] = true;
order -= 1;
if (order == 0)
break;
}
}
}
system("pause");
return 0;
}
這裏用了一個vector來裝一個bool數組,然後用到了count來數數,最後根據情況進行輸出,檢驗了,基本都是對的,但是,交上去只有90分。。。