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 #表示该点已经取过了
相关推荐
SunShaoLu24 分钟前
实测7款思维导图工具图片导出能力:PNG/SVG/PDF全支持,附选型指南
职场和发展·效率工具·思维导图
闪电悠米2 小时前
力扣hot100-48.旋转图像-转置翻转详解
算法·leetcode·职场和发展
ychqsq11 小时前
95.归位
经验分享·职场和发展
小poop12 小时前
算法复杂度:从入门到面试必备
算法·面试·职场和发展
网安老伯14 小时前
网络安全基础要点知识介绍(非常详细),零基础入门到精通,看这一篇就够了
运维·前端·网络协议·web安全·网络安全·职场和发展
叩码以求索1 天前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
谙弆悕博士1 天前
信息系统项目管理师教程(第4版)笔记——第 2 章 信息技术发展
笔记·职场和发展·软考高级·软考·高项·项目经理
wdfk_prog1 天前
嵌入式面试真题第 13 题:单硬件 Timer 下的高精度多路软件定时器架构设计
c语言·开发语言·面试·职场和发展·嵌入式
龙虾PRO1 天前
能源与股票量化核心差异,AI全链路落地实操手册
java·面试·职场和发展
wdfk_prog1 天前
嵌入式面试真题第 12 题:资源受限长期运行系统的确定性内存管理与内存池架构设计
考研·面试·职场和发展