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 #表示该点已经取过了
相关推荐
dayuOK630711 天前
写作卡壳怎么办?我的“5分钟启动法”
人工智能·职场和发展·自动化·新媒体运营·媒体
枫子有风11 天前
LLM-Agent智能体(大厂面试常问)
面试·职场和发展·llm·agent
重生之后端学习11 天前
Java入门
java·开发语言·职场和发展
AIHR数智引擎11 天前
KPI物理失效:AI原生组织的效能重构与技能度量
人工智能·经验分享·职场和发展·重构·ai-native·aihr
想吃火锅100511 天前
【leetcode】121.买卖股票的最佳时机js/c++
算法·leetcode·职场和发展
程序员小远11 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
嘿黑嘿呦11 天前
chap 8排序
算法·蓝桥杯·排序算法·软件工程
小欣加油12 天前
leetcode3612 用特殊操作处理字符串I
数据结构·c++·算法·leetcode·职场和发展
旧曲重听112 天前
2026前端技术从「夯」到「拉」
前端·程序人生·职场和发展·软件工程
javaDocker12 天前
某大厂AI应用开发面试题
面试·职场和发展