python蓝桥杯的回形取数
2023-12-17 13:32:24
#来源于蓝桥杯的训练
题号是用户登录https://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 #表示该点已经取过了
文章来源:https://blog.csdn.net/2301_80246346/article/details/135043022
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!