CCFcsp-python-201412-2-Z字形扫描

思路:
1.在同一斜线上的下标和相同,建立字典存放下标和,以及对应的下标
2.下标和为偶数时,顺序为由大到小,进行排序
3.读出对应下标的值

n = int(input())
res = []
for i in range(n):
    inp = list(map(int, input().split()))
    res.append(inp)
dic = {}
# 把对应的下标 放到字典中
for i in range(n):
    for j in range(n):
        if i+j not in dic:
            dic[i+j] = [(i,j)]
        else:
            dic[i + j] .append((i, j))

# Z字形,为偶数时的下标对应由大到小,进行排序
for i in range(len(dic)):
    if i%2==0:
        temp = sorted(dic[i], key = lambda x:x[0],reverse=True)
        dic[i] = temp
# 读取对应的数
for i in range(len(dic)):
    for j in range(len(dic[i])):
        row = dic[i][j][0]
        col = dic[i][j][1]
        print(res[row][col],end=" ")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值