1
casparchen 2018-11-27 23:08:27 +08:00
是要问有多少种方案,还是问随便一种?
|
2
Vegetables OP @casparchen 所有符合要求的结果
|
3
casparchen 2018-11-27 23:18:06 +08:00
如果要列出所有结果那一个 DFS 不就行了
|
4
casparchen 2018-11-27 23:25:16 +08:00 1
```
def dfs(lst, start, m): if m <= 0: print(list(filter(lambda x: x != None, lst))) else: for i in range(start, len(lst)): lst[i] = i dfs(lst, i+2, m-1) lst[i] = None dfs([None for i in range(9)], 0, 5) ``` ``` [0, 2, 4, 6, 8] [Finished in 0.1s] ``` |
5
EchoUtopia 2018-11-27 23:25:50 +08:00 via Android 1
选 n 的时候:n,f(n-2);不选 n 的时候:f(n-1)
|
6
rabbbit 2018-11-28 00:12:36 +08:00 1
|
8
azygote 2018-11-28 01:41:24 +08:00 via iPhone
回溯法
|
9
t9ouKal33vGEZyf5 2019-03-10 09:50:12 +08:00 1
这道题目也许和青蛙跳的问题类似,希望这篇文章对你有所帮助:[一只青蛙跳出来的分治法、回溯法与动态规划]( https://www.cnblogs.com/genialx/p/10191366.html)
|