题目
思路
先得到m。n的值
再根据要求输出螺旋矩阵
太难了,测试点7怎么也过不了
代码
num_=int(input())
array_=list(map(int,input().split(' ')))
row=1 #行,列
while(row*row<num_ or num_%row!=0):
row=row+1
col=int(num_/row)
array_=sorted(array_,reverse=True)
print_=[[0 for i in range(col)] for i in range(row)]
level=int(row/2+row%2)
#一共旋转多少次
#从左至右,从上至下 从右至左 从下到上为一次
#row为偶数是row/2次,row为奇数时row/2+1次
t=0
for i in range(level):
for j in range(i,col-i):
if not t < num_:
break
print_[i][j]=array_[t]
t=t+1
for j in range(i+1,row-1-i):
if not t < num_:
break
print_[j][col-1-i]=array_[t]
t=t+1
for j in range(col-1-i,i-1,-1):
if not t < num_:
break
print_[row-1-i][j]=array_[t]
t=t+1
for j in range(row-2-i,i,-1):
if not t < num_:
break
print_[j][i]=array_[t]
t=t+1
for i in range(row):
temp=print_[i][::]
print((' ').join([str(i) for i in temp]))```