问题描述
试题编号: | 201609-2 |
试题名称: | 火车购票 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 输入格式 输入的第一行包含一个整数n,表示购票指令的数量。 输出格式 输出n行,每行对应一条指令的处理结果。 样例输入 4 样例输出 1 2 样例说明 1) 购2张票,得到座位1、2。 评测用例规模与约定 对于所有评测用例,1 ≤ n ≤ 100,所有购票数量之和不超过100。 |
代码
#火车购票
n = int(input())
a = list(map(int,input().split()))
t = [0]*20
for x in a:
find=False
for i in range(20):#连续座位
if 5-t[i]-x>=0:
start = i*5+t[i]+1
t[i]+=x
for y in range(start,start+x):
print(y,end=" ")
print()
find=True
break
if(not find):
for i in range(20):
if(x>0 and t[i]<5):#非连续座位
start = i*5+t[i]+1
length = 5-t[i]
if(x>length):#该行排满
x-=length
t[i]=5
for y in range(start,start+length):
print(y,end=" ")
else:#该行未排满
t[i]+=x
for y in range(start,start+x):
print(y,end=" ")
print()
x=0
break