社区讨论

Python求调,10分,6wa3re

P2615[NOIP 2015 提高组] 神奇的幻方参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m1i2p5pc
此快照首次捕获于
2024/09/26 00:21
去年
此快照最后确认于
2025/11/04 18:46
4 个月前
查看原帖
应该是填入算法上错了,但是本蒟蒻看不出来
PYTHON
def insert(k,prex,prey):
    if prex == 0 and prey != n-1 and k<n**2:
        matrix[n-1][prey+1] = k
        return insert(k+1,n-1,prey+1)
    if prey == n-1 and prex != 0 and k<n**2:
        matrix[prex-1][0] = k
        return insert(k+1,prex-1,0)
    if prex == 0 and prey == n-1 and k<n**2:
        matrix[prex+1][prey] = k
        return insert(k+1,prex+1,prey)
    if prex != 0 and prey != n-1 and matrix[prex-1][prey+1] == 0 and k<n**2:
        matrix[prex-1][prey+1] = k
        return insert(k+1,prex-1,prey+1)
    else:
        if k<n**2:
            matrix[prex+1][prey] = k
            return insert(k+1,prex+1,prey)
n = int(input())
matrix = [[0]*n for j in range(n)]
matrix[0][n//2] = 1
insert(1,0,n//2)
for i in range(n):
    for j in range(n):
        print(matrix[i][j],end=" ")
    print()


回复

1 条回复,欢迎继续交流。

正在加载回复...