您的位置:首页 > 其它

CCF 17_09_2 火车购票

2018-03-12 15:29 459 查看


#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分。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: