一行四个数字 (JQK 分别被替换成11,12,13)单空格分割,另一行输入 m
可以输出1
否则输出0
13 13 13 13 24
0
提示:
注意运算符优先级
"""" DFS 对扑克顺序深搜,每种选择夹带4种情况运算符 暴力枚举应该也可以,扑克顺序4*3*2*1,运算符4*4*4, """ def dfs(ss, a, vis, m, step): for i in range(len(a)): if not vis[i]: continue vis[i] = False s = ss + a[i] if step == 3: if eval(s) == m: return True else: vis[i] = True continue res = dfs(s + '+', a, vis, m, step + 1) or dfs(s + '-', a, vis, m, step + 1) or \ dfs(s + '*', a, vis, m, step + 1) or dfs(s + '//', a, vis, m, step + 1) vis[i] = True if res: return True return False if __name__ == "__main__": a = input().strip().split() m = int(input()) vis = [True] * len(a) ans = dfs("", a, vis, m, 0) print(1 if ans else 0)