题解 | #神奇的口袋#
神奇的口袋
https://www.nowcoder.com/practice/9aaea0b82623466a8b29a9f1a00b5d35
# 3. 神奇口袋
# dfs解决 深度优先遍历
maxn = 21
a = [0] * 21
vis = [0] * 21
global res
def dfs(now, j):
global res
for i in range(j, n):
cal = now + a[i]
if cal > 40:
dfs(now, i + 1)
elif cal < 40:
dfs(cal, i + 1)
else:
res += 1
n = int(input())
res = 0
for i in range(n):
a[i] = int(input())
dfs(0, 0)
print(res)

查看13道真题和解析