关注
刚开始也是90%,后来发现有个边界出了问题,改完就ac了 def up(a):
# 向上合并, 1
for i in range(3):
for j in range(4):
if a[i][j] == a[i + 1][j]:
a[i][j] = 2*a[i][j]
a[i + 1][j] = 0
for j in range(4):
idxs = []
for i in range(4):
if a[i][j] == 0:
idxs.append(i)
elif a[i][j] != 0 and len(idxs) >0:
idx = idxs.pop(0)
a[i][j],a[idx][j] = a[idx][j],a[i][j]
idxs.append(i)
return a
def low(a):
# 向下合并, 2
for i in range(3,0,-1):
for j in range(4):
if a[i][j] == a[i - 1][j]:
a[i][j] = 2*a[i][j]
a[i - 1][j] = 0
for j in range(4):
idxs = []
for i in range(3,-1,-1):
if a[i][j] == 0:
idxs.append(i)
elif a[i][j] != 0 and len(idxs) >0:
idx = idxs.pop(0)
a[i][j],a[idx][j] = a[idx][j],a[i][j]
idxs.append(i)
return a
def left(a):
#向左合并, 3
for i in range(4):
for j in range(3):
if a[i][j] == a[i][j+1]:
a[i][j] = 2*a[i][j]
a[i][j+1] =0
# 去除0
for i in range(4):
idxs = []
for j in range(4):
if a[i][j] == 0:
idxs.append(j)
elif a[i][j] != 0 and len(idxs) >0:
idx = idxs.pop(0)
a[i][j],a[i][idx] = a[i][idx],a[i][j]
idxs.append(j)
return a
def right(a):
for i in range(4):
for j in range(3,0,-1):
if a[i][j] == a[i][j-1]:
a[i][j] = 2*a[i][j]
a[i][j-1] =0
#去零
for i in range(4):
idxs = []
for j in range(3,-1,-1):
if a[i][j] == 0:
idxs.append(j)
elif a[i][j] != 0 and len(idxs) >0:
idx = idxs.pop(0)
a[i][j],a[i][idx] = a[i][idx],a[i][j]
idxs.append(j)
return a
dx = int(input())
a = []
for _ in range(4):
a.append(list(map(int, input().split())))
if dx == 1:
res = up(a)
elif dx ==2:
res = low(a)
elif dx ==3:
res = left(a)
elif dx == 4:
res = right(a)
for item in res:
print(' '.join('%s' %i for i in item))
查看原帖
点赞 评论
相关推荐
07-09 15:14
南京大学 C++ 点赞 评论 收藏
分享
06-04 09:21
南宁师范大学 测试工程师 点赞 评论 收藏
分享
06-02 23:35
门头沟学院 后端 
点赞 评论 收藏
分享
07-11 10:37
大连理工大学 机械工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 大厂面试初体验 #
5357次浏览 42人参与
# 如果可以,你希望哪个公司来捞你 #
100870次浏览 457人参与
# 如何提高实习转正率? #
2277次浏览 30人参与
# leader认为你工作不认真怎么办 #
30872次浏览 140人参与
# 你遇到过哪些神仙同事 #
100332次浏览 724人参与
# 我的国央企投递进展 #
46665次浏览 292人参与
# 国企是理工四大天坑的最好选择吗 #
13702次浏览 95人参与
# 五一之后,实习真的很难找吗? #
78521次浏览 515人参与
# 机械人,你被简历秒挂的企业有哪些? #
43010次浏览 281人参与
# 招聘要求与实际实习内容不符怎么办 #
113005次浏览 770人参与
# 如果公司给你放一天假,你会怎么度过? #
17107次浏览 128人参与
# 找工作时的取与舍 #
80466次浏览 568人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
246317次浏览 1792人参与
# 三一重工求职进展汇总 #
15068次浏览 67人参与
# OPPO求职进展汇总 #
662889次浏览 5041人参与
# 你的秋招第一场笔试是哪家 #
142780次浏览 1453人参与
# 总结:哪家公司面试体验感最差 #
61093次浏览 276人参与
# 如果重来一次你还会读研吗 #
176922次浏览 1786人参与
# 机械人,说说你的烦心事 #
69713次浏览 839人参与
# 面试时被问的最奇葩的问题 #
22995次浏览 130人参与