题解 | #回型矩阵#

回型矩阵

http://www.nowcoder.com/practice/36d5dfddc22c4f5b88a5b2a9de7db343

n=int(input())
s=n
if n==1:
    print(n)
else:
    total=n**2+1
    num=1
    m=[]
    while n>=2:
        a=[i for i in range(num,total)]
        x1=[a[i:i+n] for i in range(0,4*n-4,2*n-2)]  #n=3,num=17
        x2=[a[i:i+n-2] for i in range(n,4*n-4,2*n-2)]
        xx=[[] for i in range(n)]
        xx[0]=x1[0]
        xx[-1]=x1[-1][::-1]
        for i in range(1,n-1):
            xx[i]=[x2[1][n-2-i],*[i for i in '*'*(n-2)],x2[0][i-1]] #输出每一圈的回型
        if n%2!=0 and (n-2)==1: 
            xx[int(n/2)][int(n/2)]=total-1   
        m.append(xx)  存储所有圈的回型
        num+=4*(n-1)
        n=n-2
    for j in range(1,len(m)):  #以最外圈为基准进行嵌套
        for i in range(s-2*j):
            m[0][i+j][j:s-j]=m[j][i]
    for i in m[0]:
        print(*i)
全部评论

相关推荐

菜菜咪:1. 可以使用简历网站的模版,美观度会更好一点 2. 邮箱可以重新申请一个,或者用qq邮箱的别名,部分hr可能会不喜欢数字邮箱 3. 项目经历最好分点描述,类似的项目很多,可以参考一下别人怎么写的 4. 自我评价可加可不加,技术岗更看重技术。最后,加油,优秀士兵
点赞 评论 收藏
分享
牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务