华灯初上


私信TA

用户名:uq_49511575951

访问量:621

签 名:

等  级
排  名 23118
经  验 601
参赛次数 1
文章发表 6
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

数字不为索引
正常思路是左边1到m-1,下边1到n-1,右边m到2,上边n到2

但是这里循环出了问题,所以选择每个边直接走到头

也就是 1到m ,2到n, m-1到1,n-1到2
注意事项:
代改进
参考代码:

m,n=map(int,input().split())
mat=[]
for i in range(m):
  li=list(map(int,input().split()))
  mat.append(li)
def fun(m,n,mat,x,y):
 if m>0 and n>0:
   for i in range(m):
       print(mat[x+i][y],end=" ")
   if n>1:
    for j in range(n):
       print(mat[x+m-1][y+j],end=" ")
    if m>1:
     for k in range(1,m):
        print(mat[x+m-1-k][y+n-1],end=" ")
     if m>1 and n>1:
       for l in range(1,n-1):
        print(mat[x][y+n-1-l],end=" ")
   fun(m-2,n-2,mat,x+1,y+1)
fun(m,n,mat,0,0)

 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区