2 条题解

  • 1
    @ 2025-10-13 20:54:44

    真·数字方阵

    观察样例可以发现,分割出的非右上角小方阵最后都会变成 1 0 1 1 的单位方阵,所以可以通过递归来操作,直到最后到达单位长度后就进行操作

    参考代码(python)

    from sys import stdin,setrecursionlimit
    from math import inf,ceil,sqrt
    from collections import Counter,deque
    
    def dfs(x:int,y:int,p:int):
        if p==1:
            s[x+1][y-1]=1
            s[x+1][y]=1
            s[x][y-1]=1
            return
        dfs(x+(1<<(p-1)),y,p-1)
        dfs(x,y-(1<<(p-1)),p-1)
        dfs(x+(1<<(p-1)),y-(1<<(p-1)),p-1)
    
    
    n=int(stdin.readline())
    s=[[0 for _ in range(1<<n)]for i in range(1<<n)]
    dfs(0,(1<<n)-1,n)
    for i in s:
        print(' '.join(map(str,i)))
    
    

    信息

    ID
    1093
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    23
    已通过
    7
    上传者