题解 | #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')

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

全部评论

相关推荐

买蜜雪也用卷:我觉得应该没有哪个人敢说自己熟练使用git,代码分支一复杂还是得慢慢寻思一下的,不过基本的拉代码提交代码还有分支什么的是应该会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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