题解 | #24点运算#

24点运算

https://www.nowcoder.com/practice/7e124483271e4c979a82eb2956544f9d

import sys
from itertools import product,permutations
for line in sys.stdin:
    a = line.strip().split()
if 'joker' in a or 'JOKER' in a:
    print('ERROR')
else:
    have = False
    mul = list(product('+-*/',repeat=3))
    per = list(permutations(a,len(a)))
    als = {'J':11,'Q':12,'K':13,'A':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'10':10,'+':'+','-':'-','*':'*','/':'/'}
    for i in range(len(mul)):
        
        for a in per:
            strings = '((({}{}{}){}{}){}{})'.format(als[a[0]],als[mul[i][0]],als[a[1]],als[mul[i][1]],als[a[2]],als[mul[i][2]],als[a[3]])
            s = eval(strings)
            if s == 24:
                outstring = '{}{}{}{}{}{}{}'.format(a[0],als[mul[i][0]],a[1],als[mul[i][1]],a[2],als[mul[i][2]],a[3])
                print(outstring)
                have = True
                break
    if not have:
        print('NONE')

针对全部可能组合暴力穷举

全部评论

相关推荐

05-05 21:45
已编辑
广州大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务