python蓝桥杯的回形取数

#来源于蓝桥杯的训练

题号是用户登录icon-default.png?t=N7T8https://www.lanqiao.cn/problems/1517/learning/?page=1&first_category_id=1&problem_id=1517

根据题目描述可以知道,我们传入的是一个矩阵。 在这里我们使用列表来实现矩阵。

那么,我们直接看代码

dir = [(1,0),(0,1),(-1,0),(0,-1)] #这个表示四个方向
m, n = map(int,input().split()) #将输入的字符转为以空格间隔的数
a = [] #存放数据
for i in range(m):
    a.append(input().split())
x, y = -1, 0 #题目所说从右下角开始
d = 0 #作为索引,类似游标
count = 0 #用于计数
while count < m*n:
    xn, yn = x + dir[d][0], y + dir[d][1]
    count += 1
    if xn < 0 or xn >= n or yn < 0 or yn >= m or a[xn][yn] == 1:
        d = (d + 1) % 4 #这个用来改变游标的大小,进而改变方向
        x, y = x + dir[d][0], y + dir[d][1]
    else:
        x,y = xn, yn
     print(a[x][y], end = ' ')
     a[x][y] = -1 #表示该点已经取过了

相关推荐

  1. -“山”数字个数(python版)

    2023-12-18 22:42:01       58 阅读
  2. python

    2023-12-18 22:42:01       32 阅读
  3. 求解(栈求解版本)

    2023-12-18 22:42:01       62 阅读
  4. 分解

    2023-12-18 22:42:01       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-18 22:42:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-18 22:42:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-18 22:42:01       82 阅读
  4. Python语言-面向对象

    2023-12-18 22:42:01       91 阅读

热门阅读

  1. TypeScript入门

    2023-12-18 22:42:01       41 阅读
  2. 从app bindService分析binder客户端

    2023-12-18 22:42:01       40 阅读
  3. LeetCode 746. 使用最小花费爬楼梯

    2023-12-18 22:42:01       72 阅读
  4. 设备树规范学习

    2023-12-18 22:42:01       48 阅读
  5. ReactHooks大全—useEffect

    2023-12-18 22:42:01       59 阅读