第一题:最大波动
80分答案(找到错误点我再更新):
n = int(input())
p = [0 for i in range(n)]
p = input().split()
seat = [[i+1,0] for i in range(100)]
book = []
for i in range(n):
p[i] = int(p[i])
if p[i] == 1:
for j in range(100):
if seat[j][1] == 0:
seat[j][1] = 1
book.append(seat[j][0])
break
elif p[i] == 2:
a = 0
count = 0
for j in range(20):
if (seat[5*j][1] == 0 and seat[1+5*j][1] == 0):
seat[5*j][1] = 1
seat[1+5*j][1] = 1
book.append(seat[5*j][0])
book.append(seat[1+5*j][0])
a = 1
break
elif (seat[1+5*j][1] == 0 and seat[2+5*j][1] == 0):
seat[1+5*j][1] = 1
seat[2+5*j][1] = 1
book.append(seat[1+5*j][0])
book.append(seat[2+5*j][0])
a = 1
break
elif (seat[2+5*j][1] == 0 and seat[3+5*j][1] == 0):
seat[2+5*j][1] = 1
seat[3+5*j][1] = 1
book.append(seat[2+5*j][0])
book.append(seat[3+5*j][0])
a = 1
break
elif (seat[3+5*j][1] == 0 and seat[4+5*j][1] == 0):
seat[3+5*j][1] = 1
seat[4+5*j][1] = 1
book.append(seat[3+5*j][0])
book.append(seat[4+5*j][0])
a = 1
break
if a == 0:
for k in range(100):
if seat[k][1] == 0:
seat[k][1] = 1
count = count +1
book.append(seat[k][0])
if count == 2:
break
elif p[i] == 3:
a = 0
count = 0
for j in range(20):
if (seat[5*j][1] == 0 and seat[1+5*j][1] == 0 and seat[2+5*j][1] == 0):
seat[5*j][1] = 1
seat[1+5*j][1] = 1
seat[2+5*j][1] = 1
book.append(seat[5*j][0])
book.append(seat[1+5*j][0])
book.append(seat[2+5*j][0])
a = 1
break
elif (seat[1+5*j][1] == 0 and seat[2+5*j][1] == 0 and seat[3+5*j][1] == 0):
seat[1+5*j][1] = 1
seat[2+5*j][1] = 1
seat[3+5*j][1] = 1
book.append(seat[1+5*j][0])
book.append(seat[2+5*j][0])
book.append(seat[3+5*j][0])
a = 1
elif (seat[2+5*j][1] == 0 and seat[3+5*j][1] == 0 and seat[4+5*j][1] == 0):
seat[2+5*j][1] = 1
seat[3+5*j][1] = 1
seat[4+5*j][1] = 1
book.append(seat[2+5*j][0])
book.append(seat[3+5*j][0])
book.append(seat[4+5*j][0])
a = 1
break
if a == 0:
for k in range(100):
if seat[k][1] == 0:
seat[k][1] = 1
count = count +1
book.append(seat[k][0])
if count == 3:
break
elif p[i] == 4:
a = 0
count = 0
for j in range(20):
if (seat[5*j][1] == 0 and seat[1+5*j][1] == 0 and seat[2+5*j][1] == 0 and seat[3+5*j][1] == 0):
seat[5*j][1] = 1
seat[1+5*j][1] = 1
seat[2+5*j][1] = 1
seat[3+5*j][1] = 1
book.append(seat[5*j][0])
book.append(seat[1+5*j][0])
book.append(seat[2+5*j][0])
book.append(seat[3+5*j][0])
a = 1
break
elif (seat[1+5*j][1] == 0 and seat[2+5*j][1] == 0 and seat[3+5*j][1] == 0 and seat[4+5*j][1] == 0):
seat[1+5*j][1] = 1
seat[2+5*j][1] = 1
seat[3+5*j][1] = 1
seat[4+5*j][1] = 1
book.append(seat[1+5*j][0])
book.append(seat[2+5*j][0])
book.append(seat[3+5*j][0])
book.append(seat[4+5*j][0])
a = 1
break
if a == 0:
for k in range(100):
if seat[k][1] == 0:
seat[k][1] = 1
count = count +1
book.append(seat[k][0])
if count == 4:
break
elif p[i] == 5:
a = 0
count = 0
for j in range(20):
if (seat[5*j][1] == 0 and seat[1+5*j][1] == 0 and seat[2+5*j][1] == 0 and seat[3+5*j][1] == 0 and seat[4+5*j][1] == 0):
seat[5*j][1] = 1
seat[1+5*j][1] = 1
seat[2+5*j][1] = 1
seat[3+5*j][1] = 1
seat[4+5*j][1] = 1
book.append(seat[5*j][0])
book.append(seat[1+5*j][0])
book.append(seat[2+5*j][0])
book.append(seat[3+5*j][0])
book.append(seat[4+5*j][0])
a = 1
break
if a == 0:
for k in range(100):
if seat[k][1] == 0:
seat[k][1] = 1
count = count +1
book.append(seat[k][0])
if count == 5:
break
for o in range(p[i]):
print(book[o],end=' ')
print('')
book.clear()