ccf 20190302
时间:2020-01-09
本文章向大家介绍ccf 20190302,主要包括ccf 20190302使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题解:重点是考虑运算符号的优先级,乘除优于加减。
用栈来维护,最后在把栈里的元素相加
①遇到数字直接进栈
②遇到负号,取下一个数的相反数进栈,然后跳过下一个数
③遇到乘号,取弹出栈顶元素p,取下一个元素q,计算p*q进栈,跳过下一个数
④遇到除号,取弹出栈顶元素p,取下一个元素q,计算p/q进栈,跳过下一个数
⑤最后,栈非空时,累加,得到的结果和24对比即可
注意:字符串的字符-'0'即可得到相应的整数;还有栈没有clear()
#include <bits/stdc++.h> using namespace std; int main(){ string s; stack<int> num; int r; int n; while(scanf("%d",&n)!=EOF){ for(int i=1;i<=n;i++){ cin >> s; r=0; for(int j=0;j<7;j++){ if(s[j]-'0' >=0 && s[j]-'0'<=9) num.push(s[j]-'0'); if(s[j]=='-'){ int k = s[j+1]-'0'; k=-k; //取下一个数的相反数放入栈中,当成负数 num.push(k); j++; //直接跳过下一个数 } if(s[j]=='x'){ //乘除直接计算,压到栈里 int p=num.top(); num.pop(); int q=s[j+1] -'0'; int t=p*q; num.push(t); j++; } if(s[j]=='/'){ int p=num.top(); num.pop(); int q=s[j+1] -'0'; int t=p/q; num.push(t); j++; } } while(!num.empty()){ int t=num.top(); num.pop(); r+=t; } if(r==24) printf("Yes\n"); else printf("No\n"); } } return 0; }
原文地址:https://www.cnblogs.com/shiliuxinya/p/12172601.html
- Django内置Admin
- Python内置函数property()使用实例
- 区块链技术的历史发展的不同阶段
- 微信力推搜一搜,培养用户微信搜索习惯,搜一搜直接给红包
- datetime
- [转自JeffreyZhao]在LINQ to SQL中使用Translate方法以及修改查询用SQL
- Flask-SQLAlchemy
- 2017全球存储大会:存储设备面临三大挑战
- cobbler自动安装系统(Centos7.X)
- Python接口自动化-7-unittest
- cobbler自动安装系统(Centos7.X)
- Linux NTP时间服务器
- 子查询的另一种方式——映射
- LNMP架构之搭建wordpress博客网站
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- “工业听诊”中多声源事件检测与定位
- 工业党福利:使用PaddleX高效实现指针型表计读取系列文章(2)
- 【三维点云系列】PCL点云库之数据文件与IO操作
- Jvm故障处理工具
- 递增子序列
- redis学习(二)
- You-Get 使用方法
- 接口测试 Mock 实战 | 结合 jq 完成批量化的手工 Mock
- 在Angular应用的child Component里同时使用@Input和@Output
- Angular应用里的@Input和@Output注解使用方法介绍
- K8S Ingress使用|常见问题列表
- 部署Tomcat及负载均衡
- Jenkins常用插件Publish Over SSH
- Zabbix 4.0配置监控Linux客户端
- esp8266+oled+DHT 11温湿度显示