python蓝桥杯的回形取数

#来源于蓝桥杯的训练

题号是用户登录https://www.lanqiao.cn/problems/1517/learning/?page=1&first_category_id=1&problem_id=1517

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

那么,我们直接看代码

python 复制代码
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 #表示该点已经取过了
相关推荐
公众号/头条号:技术很有趣18 小时前
2025年11月 系统架构设计师考试复盘
职场和发展·软件工程
资深web全栈开发19 小时前
LeetCode 3623. 统计梯形的数目 I
算法·leetcode·职场和发展·组合数学
自动化测试薰儿1 天前
软件测试经典面试题整理(一)
软件测试·职场和发展
不会编程的小寒1 天前
数据库编程 面试
数据库·面试·职场和发展
Wenhao.1 天前
LeetCode Hot100 腐烂的橘子
算法·leetcode·职场和发展
Rock_yzh1 天前
LeetCode算法刷题——560. 和为 K 的子数组
数据结构·c++·学习·算法·leetcode·职场和发展·哈希算法
良木生香1 天前
【程序设计】P8772 [蓝桥杯 2022 省 A] 求和
c语言·算法·职场和发展·蓝桥杯
做怪小疯子1 天前
LeetCode 热题 100——二叉树——翻转二叉树
算法·leetcode·职场和发展
Hacker_xingchen1 天前
性能测试如何定位分析性能瓶颈?
自动化测试·软件测试·职场和发展
做怪小疯子2 天前
LeetCode 热题 100——二叉树——二叉树的最大深度
算法·leetcode·职场和发展