以下是使用递归算法对N皇后问题求解的不完整代码:
def solveNQueen(N): pool = # def queen(cur=0): if cur == len(pool): return # res = # for col in range(len(pool)): pool[cur], flag = col, True for row in range(cur): if pool[row] == col or abs(col - pool[row]) == cur - row: flag = False break if flag: res += queen(cur+1) return res return queen(0)# testprint(solveNQueen(8))阅读代码,选出正确的选项
A、A处可以填“[None]*N”
B、A处可以填“[]*N”
C、A处可以填“[0 for i in range(N)]”
D、若X处填"[list(pool)]",Y处填"[]",该函数可返回N皇后问题的所有解
E、若X处填"[list(pool)]",Y处填"[]",该函数可返回N皇后问题解的个数
F、若X处填"1",Y处填"0",该函数可返回N皇后问题解的个数
G、若X处填"1",Y处填"0",该函数可返回N皇后问题的所有解
H、该算法时间复杂度为O(N)
I、该算法时间复杂度为O(N^2)
def solveNQueen(N): pool = # def queen(cur=0): if cur == len(pool): return # res = # for col in range(len(pool)): pool[cur], flag = col, True for row in range(cur): if pool[row] == col or abs(col - pool[row]) == cur - row: flag = False break if flag: res += queen(cur+1) return res return queen(0)# testprint(solveNQueen(8))阅读代码,选出正确的选项
A、A处可以填“[None]*N”
B、A处可以填“[]*N”
C、A处可以填“[0 for i in range(N)]”
D、若X处填"[list(pool)]",Y处填"[]",该函数可返回N皇后问题的所有解
E、若X处填"[list(pool)]",Y处填"[]",该函数可返回N皇后问题解的个数
F、若X处填"1",Y处填"0",该函数可返回N皇后问题解的个数
G、若X处填"1",Y处填"0",该函数可返回N皇后问题的所有解
H、该算法时间复杂度为O(N)
I、该算法时间复杂度为O(N^2)