[Python]看着输出结果一样,但前面的全WA
查看原帖
[Python]看着输出结果一样,但前面的全WA
723258
the_color楼主2022/5/6 21:24

这是代码一(未通过)

n = 2**int(input())
matrix = [[1 for _ in range(n)]for _ in range(n)]
def trans(matrix,start1,start2,n):
    if n == 1:
        return
    else:
        n=n//2
        for i in range(start1,start1+n):
            for j in range(start2,start2+n):
                matrix[i][j] = 0
        trans(matrix,start1,start2+n,n)
        trans(matrix,start1+n,start2,n)
        trans(matrix,start1+n,start2+n,n)
trans(matrix,0,0,n)
table = [str(" ".join(str(row).strip("[]").split(",")))for row in matrix]
print("\n".join(table))

代码二(全部通过)

n = 2**int(input())
matrix = [["1" for _ in range(n)]for _ in range(n)]
def trans(matrix,start1,start2,n):
    if n == 1:
        return
    else:
        n=n//2
        for i in range(start1,start1+n):
            for j in range(start2,start2+n):
                matrix[i][j] = "0"
        trans(matrix,start1,start2+n,n)
        trans(matrix,start1+n,start2,n)
        trans(matrix,start1+n,start2+n,n)
trans(matrix,0,0,n)
table = [" ".join(x)for x in matrix]
print("\n".join(table))

我运行代码一和代码二结果是一样的,求大佬解答代码一哪里错了

2022/5/6 21:24
加载中...