PTA 7

您所在的位置:网站首页 扑克牌计算24点 PTA 7

PTA 7

2024-07-11 10:29| 来源: 网络整理| 查看: 265

二十四点是一款著名的纸牌游戏,其游戏的目标是使用 3 个加减乘除运算使得 4 张纸牌上数字的运算结果为 24。定义每一个游戏由4个数字和3个四则运算符组成,可能存在括号和其他字符,运算顺序按照四则运算规则进行。其中加法用符号+表示,减法用符号-表示,乘法用可以是小写字母x,也可以是*表示,除法用符号/表示。在游戏里除法为整除,例如 3 / 5 = 0,5 / 2 = 1,4 / 2 = 2。现在给你n个表达式,请编写程序验证每个表达式的结果是否为 24。如果表达式逻辑错误,则输出“ERROR”,并终止程序。

输入格式:

从标准输入读入数据。 第一行输入一个整数n,从第2行开始到第n+1行中,每一行一个表达式字符串 ,表示24 点游戏,数据格式不一定合法。

输出格式:

输出到标准输出。

包含n行,对于每一个游戏,如果其结果为24则输出字符串 Yes,如果表达式逻辑正确但是结果错误则输出字符串 No,否则输出字符串ERROR,并终止程序。

输入样例:

在这里给出一组输入。例如:

10 (3-2/2)x12 (4-1)*6+6 7-9-9+8 (10+2)/2x4 3+5+7+9 1*1+9-9 1x9)-5/9 8/5+6S9 6x7-3x6 6x4+4/5 输出样例:

在这里给出相应的输出。例如:

Yes Yes No Yes Yes No ERROR

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

n,ls=eval(input()),[] result=[] for i in range(n): ls.append(input()) for i in range(n): if 'x' in ls[i]: ls[i]=ls[i].replace('x','*') elif '/' in ls[i]: ls[i]=ls[i].replace('/','//') try: s = eval(ls[i]) except SyntaxError: result.append('ERROR') break else: if s==24: result.append('Yes') else: result.append('No') print(' '.join(str(i) for i in result))



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3