题解 | 24点运算

24点运算

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

from types import CodeType
a = input().split()

if "joker" in a or "JOKER" in a:
    print("ERROR")
else:
    for i in range(4):
        if a[i] == "J":
            a[i] = '11'
        elif a[i] == "Q":
            a[i] = '12'
        elif a[i] == "K":
            a[i] = '13'
        elif a[i] == "A":
            a[i] = '1'

    a[0]+='a'
    a[1]+='b'
    a[2]+='c'
    a[3]+='d'

    opts="+-*/"
    for i in a:
        for o1 in opts:
            for j in a:
                if i==j:
                    continue
                for o2 in opts:
                    for k in a:
                        if k==j or k==i:
                            continue
                        for o3 in opts:
                            for h in a:
                                if h==i or h==j or h==k:
                                    continue
                                n1=i[0:-1]
                                n2=j[0:-1]
                                n3=k[0:-1]
                                n4=h[0:-1]
                                exp='(('+n1+o1+n2+')'+o2+n3+')'+o3+n4
                                
                                if -1e-6< eval(exp)-24 <1e-6:
                                    if n1=="11":
                                        n1='J'
                                    elif n1=='12':
                                        n1='Q'
                                    elif n1=='13':
                                        n1='K'
                                    elif n1=='1':
                                        n1='A'
                                    if n2=="11":
                                        n2='J'
                                    elif n2=='12':
                                        n2='Q'
                                    elif n2=='13':
                                        n2='K'
                                    elif n2=='1':
                                        n2='A'
                                    if n3=="11":
                                        n3='J'
                                    elif n3=='12':
                                        n3='Q'
                                    elif n3=='13':
                                        n3='K'
                                    elif n3=='1':
                                        n3='A'
                                    if n4=="11":
                                        n4='J'
                                    elif n4=='12':
                                        n4='Q'
                                    elif n4=='13':
                                        n4='K'
                                    elif n4=='1':
                                        n4='A'
                                    print(n1+o1+n2+o2+n3+o3+n4)
                                    exit()
                    
    print("NONE")
    
    

全部评论

相关推荐

永不遗忘:才这么点算什么拉黑,我初筛连着挂几十次了,最后还是能进面
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务