试题编号: 201609-2
试题名称: 火车购票
时间限制: 1.0s
内存限制: 256.0MB
因为火车的座位号是连续的,而对于每一排,总是编号小的座位先被卖出,所以可以考虑用一个数组保存每一排被卖出的座位数量。
在每次寻找能买的座位时,先遍历一遍数组查看是否有一排的剩余座位大于等于要买的数量,如果有,就选择第一个满足要求的排。
如果买不到同一排相邻的座位,就从头往后寻找每一排的空座位,直到找到的座位数满足要求。
int a[20];//保存每一排被占的座位数
int main() {
int n, p;
cin >> n;
while (n--) {
cin >> p;
bool flag = 0;
//首先判断是否能够买到同一排相邻的座位
for (