data = []
new = []
for i in range(15):
data.append(list(map(int, input().split())))
for i in range(4):
new.append(list(map(int, input().split())))
dcol = int(input())
def getpoint(lindex, sindex):
for lrow in range(lindex, 15): # 大行
for srow in range(sindex, -1, -1): # 小行
for lcol in range(dcol - 1, dcol + 3): # 大列
if (new[srow][lcol - dcol + 1] and data[lrow][lcol]) or lrow == 14:
return lrow, srow
for i in range(3, -1, -1):
if new[i] != [0] * 4:
sindex = i
break
for k in range(14, -1, -1):
if data[k] != [0] * 10:
lindex = k
lrow = getpoint(lindex, sindex)[0]
srow = getpoint(lindex, sindex)[1]
if lrow == 14:
lrow = 15
maxrow = srow + 1
else:
maxrow = 4
for row in range(maxrow):
for col in range(4):
data[row + lrow - srow - 1][col + dcol - 1] += new[row][col]
for i in range(15):
for j in range(10):
print(data[i][j], end=" ")
print()
CCF Python题解(100分)201604-2 俄罗斯方块
最新推荐文章于 2021-11-21 16:49:29 发布