Python-蓝桥杯:回形取数

    科技2024-01-21  100

    问题描述   回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。 输入格式   输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。 输出格式   输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。 样例输入 3 3 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 8 9 6 3 2 5 样例输入 3 2 1 2 3 4 5 6 样例输出 1 3 5 6 4 2

    注:因为此题属于VIP,所以没有在系统中提交,不知道自己这个解法是否可以AC

    m,n=map(int,input().split()) ls=[[]for j in range(m)] #创建空的二维数组 for i in range(m): arr=input().split() for j in range(n): ls[i].append(int(arr[j])) #将数据放到二维数组中 j=0 while j<n: for i in range(m): ls1=[] if j%2==0: print(ls[i][j],end=' ') #如果为偶数列,则从上往下读取 elif j%2==1: print(ls[m-i-1][j],end=' ') #若为奇数,则从下往上读取 j+=1
    Processed: 0.015, SQL: 8