CSP201903-2二十四点
如图所示先处理乘号和除号,再处理加减。
#include<bits/stdc++.h>
using namespace std;
bool res[];
int main(){
int n;
cin>>n;
int i,j,op1,op2;
string inp;
char op[];
int nn[]; int sum,nnum=;
int opnum=;
int nns[];
char ops[];
for(i=;i<n;i++){
cin>>inp;
sum=;
nnum=;
opnum=;
nn[]=inp[]-'';
nn[]=inp[]-'';
nn[]=inp[]-'';
nn[]=inp[]-'';
op[]=inp[];
op[]=inp[];
op[]=inp[];
j=;
while(j<){
nns[nnum++]=nn[j];
if(opnum>&&(ops[opnum-]=='x'||ops[opnum-]=='/')){
op1=nns[nnum-];
op2=nns[nnum-];
nnum-=;
if(ops[opnum-]=='x'){
nns[nnum++]=op1*op2;
}else{
nns[nnum++]=op1/op2;
}
opnum--;
} if(j!=){
ops[opnum++]=op[j];
}
j++;
}
/* for(j=0;j<opnum;j++){
cout<<nns[j]<<ops[j];
}
cout<<nns[opnum]<<endl;
*/ sum=nns[];
for(j=;j<opnum;j++){
if(ops[j]=='+'){
sum+=nns[j+];
}else{
sum-=nns[j+];
}
}
// cout<<sum<<endl;
res[i]=(sum==);
}
for(i=;i<n;i++){
if(res[i]){
cout<<"Yes\n";
}else{
cout<<"No\n";
}
}
}
CSP201903-2二十四点的更多相关文章
- [LeetCode] 24 Game 二十四点游戏
You have 4 cards each containing a number from 1 to 9. You need to judge whether they could operated ...
- 二十四点算法 java实现
问题: 给出四个数,不可以重复使用,可以用+ - * /和括号,怎么得出24? 代码: //return -1 表示当前方法不行 private int workByStep(int op,int n ...
- 第十六次 ccf 201903-2 二十四点
题意: 计算数学表达式的值, 数学表达式的定义: 4个[0-9]表示数字的字符 ,3个[+-x/]表示运算的字符 可以用正则为: ([0-9][+-x/]){3}[0-9] 例如: 5+2/1x3 2 ...
- HNU 12886 Cracking the Safe 二十四点的判断
经典的一个题,今天竟然写跪了…… 题意: 给你4个数字,让你判断是否能通过四则运算和括号,凑成24点. 思路: 暴力枚举运算顺序和运算符. 代码: #include <iostream> ...
- CCF-CSP题解 201903-2 二十四点
可枚举. 写栈的主要思想是:一个数栈\(numSta\),一个运算符栈\(opSta\).遇到一个运算符,就把之前优先级\(equal\ or\ greater\ than\)它的运算符处理掉. #i ...
- 201903-2 CCF 二十四点
题面: 考场写的30分== #include<bits/stdc++.h> using namespace std; stack<int>st; stack<char&g ...
- 201903-2 二十四点 Java
思路: 数据结构中,栈可以解决运算的问题.利用压栈和弹栈操作实现(这里用队列模拟).具体的: 遇到乘除号,弹出栈顶元素,将计算结果压入栈中.遇到加减号,将后面的数一起压入栈中. 注意: substri ...
- CCF201903-2二十四点
思路描述:最开始的思路是拿一个栈来存储数据和符号,在动手实践的过程中发现行不通,单个数字的char和int转换可以,但是加起来的数据两位数字就很难处理了. 然后就去看了看别人的思路,给了我一个很好的启 ...
- WCF学习之旅—第三个示例之三(二十九)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...
随机推荐
- 公司安装mariaDB-5.5.52和Jdk 7
转自:http://www.cnblogs.com/kgdxpr/p/3209009.html vi /etc/yum.repos.d/MariaDB.repo 加入下面内容 [mariabd]nam ...
- 设置 Tomcat 的JVM运行内存
win7,64位: Tomcat7.0.5:jdk1.7: 情况一:Tomcat注册成系统服务,如何修改JVM运行内存? WINDOW 64位 , cmd打开注册表(regedit) HKEY_LOC ...
- iptables禁止ssh端口
只允许在192.168.62.1上使用ssh远程登录,从其它计算机上禁止使用ssh #iptables -A INPUT -s 192.168.62.1 -p tcp --dport 22 -j AC ...
- display的值和对应的意义
none:隐藏对应元素,不为隐藏的对象保留其物理空间 block:指定对象为块元素 inline:指定对象为内联元素 inline-block:指定对象为内联块元素 table:指定对象为块元素的表格 ...
- Mule自带例子之flight-reservation
1 配置效果图 2 应用的配置文件 <?xml version="1.0" encoding="UTF-8"?> <mule xmlns:sc ...
- httpclient: Content-Length header already present问题
现象:用httpclient发送http请求时,客户端返回: org.apache.http.client.ClientProtocolException at org.apache.http.imp ...
- python进阶之异常处理
异常处理 在代码运行时,会因为各种原因出现bug,而程序遇到bug就会中断运行,而在日常生产中程序是要长时间运行不能随意中断的.因此就需要我们提前做好异常处理. 异常 print(x) # 一般报错就 ...
- Python--day32--ftp文件传输报错的原因
解决办法:把buffer改小 server.py #实现一个大文件的上传或下载 #配置文件 ip地址 端口号 import json import socket import struct sk = ...
- 【9101】求n!的值
Time Limit: 10 second Memory Limit: 2 MB 问题描述 用高精度的方法,求n!的精确值(n的值以一般整数输入). Input 文件输入仅一行,输入n. Output ...
- P1050 全排列
题目描述 给定一个正整数n, 按照递增顺序打印数字1到n的所有排列. 输入格式 一个整数n(1<=n<=7). 输出格式 按照递增的顺序输出n的所有排列, 详见样例.请注意,每行末尾不能有 ...