做个记录,还没学会递归解决,先回去想想迷宫问题,这个是暴力穷举,大家见笑
def asmd(a,b,c,d):
flag = 0
# 0为*,1为+,2为-,3为/
for i in range(4):
for j in range(4):
for k in range(4):
# mutiply
if(i == 0 and j == 0 and k == 0):
if(a*b*c*d == 24):
flag = 1
elif(i == 0 and j == 0 and k == 1):
if(a*b*c+d == 24):
flag = 1
elif(a*b*(c+d) == 24):
flag = 1
elif(i == 0 and j == 0 and k == 2):
if(a*b*c-d == 24):
flag = 1
elif(a*b*(c-d) == 24):
flag = 1
elif(i == 0 and j == 0 and k == 3):
if(d !=0 and a*b*c/d == 24):
flag = 1
elif(i == 0 and j == 1 and k == 0):
if(a*b+c*d == 24):
flag = 1
elif(a*(b+c)*d == 24):
flag = 1
elif(i == 0 and j == 1 and k == 1):
if(a*b+c+d == 24):
flag = 1
elif(a*(b+c)+d == 24):
flag = 1
elif(a*(b+c+d) == 24):
flag = 1
elif(i == 0 and j == 1 and k == 2):
if(a*b+c-d == 24):
flag = 1
elif(a*(b+c)-d == 24):
flag = 1
elif(a*(b+c-d) == 24):
flag = 1
elif(i == 0 and j == 1 and k == 3):
if(d !=0 and a*b+c/d == 24):
flag = 1
elif(a*(b+c)/d == 24):
flag = 1
elif(i == 0 and j == 2 and k == 0):
if(a*b-c*d == 24):
flag = 1
elif(a*(b-c)*d == 24):
flag = 1
elif(i == 0 and j == 2 and k == 1):
if(a*b-c+d == 24):
flag = 1
elif(a*(b-c)+d == 24):
flag = 1
elif(a*(b-c+d) == 24):
flag = 1
elif(i == 0 and j == 2 and k == 2):
if(a*b-c-d == 24):
flag = 1
elif(a*(b-c)-d == 24):
flag = 1
elif(a*(b-c-d) == 24):
flag = 1
elif(i == 0 and j == 2 and k == 3):
if(d !=0 and a*b-c/d == 24):
flag = 1
elif(d !=0 and a*(b-c)/d == 24):
flag = 1
elif(i == 0 and j == 3 and k == 0):
if(c !=0 and a*b/c*d == 24):
flag = 1
elif(i == 0 and j == 3 and k == 1):
if(c !=0 and a*b/c+d == 24):
flag = 1
elif(c+d !=0 and a*b/(c+d) == 24):
flag = 1
elif(i == 0 and j == 3 and k == 2):
if(c !=0 and a*b/c-d == 24):
flag = 1
elif(c-d !=0 and a*b/(c-d) == 24):
flag = 1
elif(i == 0 and j == 3 and k == 3):
if(c !=0 and d !=0 and a*b/c/d == 24):
flag = 1
# add
elif(i == 1 and j == 0 and k == 0):
if(a+b*c*d == 24):
flag = 1
elif((a+b)*c*d == 24):
flag = 1
elif(i == 1 and j == 0 and k == 1):
if(a+b*c+d == 24):
flag = 1
elif(a+b*(c+d) == 24):
flag = 1
elif((a+b)*c+d == 24):
flag = 1
elif((a+b)*(c+d) == 24):
flag = 1
elif(i == 1 and j == 0 and k == 2):
if(a+b*c-d == 24):
flag = 1
elif(a+b*(c-d) == 24):
flag = 1
elif((a+b)*c-d == 24):
flag = 1
elif((a+b)*(c-d) == 24):
flag = 1
elif(i == 1 and j == 0 and k == 3):
if(d !=0 and a+b*c/d == 24):
flag = 1
elif(d !=0 and (a+b)*c/d == 24):
flag = 1
elif(i == 1 and j == 1 and k == 0):
if(a+b+c*d == 24):
flag = 1
elif(a+(b+c)*d == 24):
flag = 1
elif((a+b+c)*d == 24):
flag = 1
elif(i == 1 and j == 1 and k == 1):
if(a+b+c+d == 24):
flag = 1
elif(i == 1 and j == 1 and k == 2):
if(a+b+c-d == 24):
flag = 1
elif(i == 1 and j == 1 and k == 3):
if(d !=0 and a+b+c/d == 24):
flag = 1
elif(d !=0 and a+(b+c)/d == 24):
flag = 1
elif(d !=0 and (a+b+c)/d == 24):
flag = 1
elif(i == 1 and j == 2 and k == 0):
if(a+b-c*d == 24):
flag = 1
elif(a+(b-c)*d == 24):
flag = 1
elif((a+b-c)*d == 24):
flag = 1
elif(i == 1 and j == 2 and k == 1):
if(a+b-c+d == 24):
flag = 1
elif(i == 1 and j == 2 and k == 2):
if(a+b-c-d == 24):
flag = 1
elif(i == 1 and j == 2 and k == 3):
if(d !=0 and a+b-c/d == 24):
flag = 1
elif(a+(b-c)/d == 24):
flag = 1
elif((a+b-c)/d == 24):
flag = 1
elif(i == 1 and j == 3 and k == 0):
if(c !=0 and a+b/c*d == 24):
flag = 1
elif(c !=0 and (a+b)/c*d == 24):
flag = 1
elif(i == 1 and j == 3 and k == 1):
if(c !=0 and a+b/c+d == 24):
flag = 1
elif(c+d !=0 and a+b/(c+d) == 24):
flag = 1
elif(c+d !=0 and (a+b)/(c+d) == 24):
flag = 1
elif(i == 1 and j == 3 and k == 2):
if(c !=0 and a+b/c-d == 24):
flag = 1
elif(c-d !=0 and a+b/(c-d) == 24):
flag = 1
elif(c-d !=0 and (a+b)/(c-d) == 24):
flag = 1
elif(i == 1 and j == 3 and k == 3):
if(c !=0 and d !=0 and a+b/c/d == 24):
flag = 1
elif(c !=0 and d !=0 and (a+b)/c/d == 24):
flag = 1
# dsubtract
elif(i == 2 and j == 0 and k == 0):
if(a-b*c*d == 24):
flag = 1
elif((a-b)*c*d == 24):
flag = 1
elif(i == 2 and j == 0 and k == 1):
if(a-b*c+d == 24):
flag = 1
elif(a-b*(c+d) == 24):
flag = 1
elif((a-b)*c+d == 24):
flag = 1
elif((a-b)*(c+d) == 24):
flag = 1
elif(i == 2 and j == 0 and k == 2):
if(a-b*c-d == 24):
flag = 1
elif(a-b*(c-d) == 24):
flag = 1
elif((a-b)*c-d == 24):
flag = 1
elif((a-b)*(c-d) == 24):
flag = 1
elif(i == 2 and j == 0 and k == 3):
if(d !=0 and a-b*c/d == 24):
flag = 1
elif(d !=0 and (a-b)*c/d == 24):
flag = 1
elif(i == 2 and j == 1 and k == 0):
if(a-b+c*d == 24):
flag = 1
elif(a-(b+c)*d == 24):
flag = 1
elif((a-b+c)*d == 24):
flag = 1
elif(i == 2 and j == 1 and k == 1):
if(a-b+c+d == 24):
flag = 1
elif(i == 2 and j == 1 and k == 2):
if(a-b+c-d == 24):
flag = 1
elif(i == 2 and j == 1 and k == 3):
if(d !=0 and a-b+c/d == 24):
flag = 1
elif(d !=0 and a-(b+c)/d == 24):
flag = 1
elif(d !=0 and (a-b+c)/d == 24):
flag = 1
elif(i == 2 and j == 2 and k == 0):
if(a-b-c*d == 24):
flag = 1
elif(a-(b-c)*d == 24):
flag = 1
elif((a-b-c)*d == 24):
flag = 1
elif(i == 2 and j == 2 and k == 1):
if(a-b-c+d == 24):
flag = 1
elif(i == 2 and j == 2 and k == 2):
if(a-b-c-d == 24):
flag = 1
elif(i == 2 and j == 2 and k == 3):
if(d !=0 and a-b-c/d == 24):
flag = 1
elif(d !=0 and a-(b-c)/d == 24):
flag = 1
elif(d !=0 and (a-b-c)/d == 24):
flag = 1
elif(i == 2 and j == 3 and k == 0):
if(c !=0 and a-b/c*d == 24):
flag = 1
elif(c !=0 and (a-b)/c*d == 24):
flag = 1
elif(i == 2 and j == 3 and k == 1):
if(c !=0 and a-b/c+d == 24):
flag = 1
elif(c+d !=0 and a-b/(c+d) == 24):
flag = 1
elif(c+d !=0 and (a-b)/(c+d) == 24):
flag = 1
elif(i == 2 and j == 3 and k == 2):
if(c !=0 and a-b/c-d == 24):
flag = 1
elif(c-d !=0 and a-b/(c-d) == 24):
flag = 1
elif(c-d !=0 and (a-b)/(c-d) == 24):
flag = 1
elif(i == 2 and j == 3 and k == 3):
if(c !=0 and d !=0 and a-b/c/d == 24):
flag = 1
elif(c !=0 and d !=0 and (a-b)/c/d == 24):
flag = 1
# devide
if(i == 3 and j == 0 and k == 0):
if(b !=0 and (a/b*c*d) == 24):
flag = 1
elif(i == 3 and j == 0 and k == 1):
if(b !=0 and a/b*c+d == 24):
flag = 1
elif(b !=0 and a/b*(c+d) == 24):
flag = 1
elif(i == 3 and j == 0 and k == 2):
if(b !=0 and a/b*c-d == 24):
flag = 1
elif(b !=0 and a/b*(c-d) == 24):
flag = 1
elif(i == 3 and j == 0 and k == 3):
if(b !=0 and a/b*c/d == 24):
flag = 1
elif(i == 3 and j == 1 and k == 0):
if(b !=0 and a/b+c*d == 24):
flag = 1
elif(b+c !=0 and a/(b+c)*d == 24):
flag = 1
elif(i == 3 and j == 1 and k == 1):
if(b !=0 and a/b+c+d == 24):
flag = 1
elif(b+c !=0 and a/(b+c)+d == 24):
flag = 1
elif(b+c+d !=0 and a/(b+c+d) == 24):
flag = 1
elif(i == 3 and j == 1 and k == 2):
if(b !=0 and a/b+c-d == 24):
flag = 1
elif(b+c !=0 and a/(b+c)-d == 24):
flag = 1
elif(b+c-d !=0 and a/(b+c-d) == 24):
flag = 1
elif(i == 3 and j == 1 and k == 3):
if(b !=0 and d !=0 and a/b+c/d == 24):
flag = 1
elif(b+c !=0 and d !=0 and a/(b+c)/d == 24):
flag = 1
elif(i == 3 and j == 2 and k == 0):
if(b !=0 and a/b-c*d == 24):
flag = 1
elif(b-c !=0 and a/(b-c)*d == 24):
flag = 1
elif(i == 3 and j == 2 and k == 1):
if(b !=0 and a/b-c+d == 24):
flag = 1
elif(b-c !=0 and a/(b-c)+d == 24):
flag = 1
elif(b-c+d !=0 and a/(b-c+d) == 24):
flag = 1
elif(i == 3 and j == 2 and k == 2):
if(b !=0 and a/b-c-d == 24):
flag = 1
elif(b-c !=0 and a/(b-c)-d == 24):
flag = 1
elif(b-c-d !=0 and a/(b-c-d) == 24):
flag = 1
elif(i == 3 and j == 2 and k == 3):
if(b !=0 and d !=0 and a/b-c/d == 24):
flag = 1
elif(b-c !=0 and a/(b-c)/d == 24):
flag = 1
elif(i == 3 and j == 3 and k == 0):
if(b !=0 and c !=0 and a/b/c*d == 24):
flag = 1
elif(i == 3 and j == 3 and k == 1):
if(b !=0 and c !=0 and a/b/c+d == 24):
flag = 1
elif(b !=0 and c+d !=0 and a/b/(c+d) == 24):
flag = 1
elif(i == 3 and j == 3 and k == 2):
if(b !=0 and c !=0 and a/b/c-d == 24):
flag = 1
elif(b !=0 and c-d !=0 and a/b/(c-d) == 24):
flag = 1
elif(i == 3 and j == 3 and k == 3):
if(b !=0 and c !=0 and d !=0 and a/b/c/d == 24):
flag = 1
if(flag == 1):
break
if(flag == 1):
break
if(flag == 1):
break
return flag
while True:
try:
num1 = []
a, b, c, d = [int(x) for x in input().split()]
num1.append(a)
num1.append(b)
num1.append(c)
num1.append(d)
ans = 0
for i in range(4):
for j in range(4):
if(j != i):
for k in range(4):
if(k != j and k != i):
for l in range(4):
if(l != i and l != j and l != k):
ans = asmd(num1[i],num1[j],num1[k],num1[l])
if(ans == 1):
# print(i,j,k,l)
break
if(ans == 1):
break
if(ans == 1):
break
if(ans == 1):
break
if(ans == 1):
print('true')
else:
print('false')
except:
break


京公网安备 11010502036488号