B题
不妨令第一个集合为
对于第个集合, 我们使用前
个集合中每个集合的第
个数,剩下的数从当前所有数的最大值开始往上补
这样子保证了任意两个集合肯定有且仅有一个共同元素,且每个元素最多出现两次
代码如下
n = int(input())
maze = [[0 for i in range(n)] for j in range(n)]
maze[0] = list(range(1, n+1))
ma = n
for i in range(1, n):
for j in range(i):
maze[i][j] = maze[j][i]
for j in range(i, n):
maze[i][j] = ma + 1
ma += 1
for i in maze:
print(' '.join(map(str, i)))