一行四个数字 (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)