F: 问题 N 皇后 (Queen.cpp, Python)
发布时间
阅读量:
阅读量
题目描述
在N*N的棋盘中,需要将N个皇后进行排列(n<=10),确保它们之间不会相互攻击,具体而言,在棋盘的每一行、每一列以及每一条对角线上均不允许出现两个皇后。请编写程序,以求得所有满足条件的摆放方式。
输入
输入值为n
小标题
每种解法单独成行,依次列出各皇后所在列的位置,每个数值占据5个字符的宽度。如若不存在可行解,则输出no solute!
样例输入 Copy
4
样例输出 Copy
2 4 1 3
3 1 4 2
a = [0] *20 #盒子
n = int(input()) # n张牌 n个盒子
cnt=0
def dfs(step):
global a,cnt,n
#第n+1盒子放牌结束,输出前n个盒子的牌
if step == n+1:
cnt+=1
for i in range(1,n+1):
print("{:>5}".format(a[i]),end="")
print()
return
# 枚举手中的n张牌
for i in range(1
全部评论 (0)
还没有任何评论哟~
