[NOIP2013 普及组] 表达式求值
Input
一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”和乘法运算符“*”,且没有括号,所有参与运算的数字均为 int 范围内的正整数。
输入数据保证这一行只有0~9、+、*这12种字符。
Output
一个整数,表示这个表达式的值。
直接上代码
1 #include<iostream>
2 long long a[1000001],ha=1,sum=0;
3 char s[1000001];
4 using namespace std;
5 int main()
6 {
7 cin>>a[ha];
8 a[ha]%=10000;
9 while(cin>>s[ha]>>a[++ha])
10 {
11 a[ha]%=10000;
12 }
13 for(int i=ha;i>=1;i--)
14 {
15 if(s[i]=='*')
16 {
17 a[i]*=a[i+1];
18 a[i]%=10000;
19 a[i+1]=0;
20 }
21 }
22 for(int i=1;i<=ha;i++)
23 {
24 sum+=a[i];
25 sum%=10000;
26 }
27 cout<<sum;
28 return 0;
29 }
啥意思呢,就是说他肯定是一个数接着一个字符再接着一个数,所以我们可以用:
cin>>a[ha]; while(cin>>s[ha]>>a[++ha]
那我们就不必把连续的几个数字字符组成一个数字这个恶心的东西了,之后我们把所有是乘数的压入栈中,两个两个的乘起来再相加,但是有一点需要注意一下就是其实并不是两两相乘,而是把我们得到的乘数两两分组,所以如果是两两相乘的话就会有很多值被新加了起来,所以对于两个数a[i]和a[i+1],相乘以后要让a[i+1]=0,这样下一次a[i+2]与a[i+1]如果相乘的话结果就是0,把它加进来也没啥影响。
2022/3/17
[NOIP2013 普及组] 表达式求值的更多相关文章
- NOIP2013普及组 T2 表达式求值
OJ地址:洛谷P1981 CODEVS 3292 正常写法是用栈 #include<iostream> #include<algorithm> #include<cmat ...
- NC16539 [NOIP2013]表达式求值
NC16539 [NOIP2013]表达式求值 题目 题目描述 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值. 输入描述 输入仅有一行,为需要你计算的表达式,表达式中只包含数字.加法运 ...
- [NOIP2013] 普及组
计数问题 纯模拟 #include<cstdio> #include<iostream> using namespace std; int main(){ int n,x; c ...
- NOIP2013普及组 -SilverN
T1 计数问题 题目描述 试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1 到 11 中,即在 1.2.3.4.5.6.7.8.9.10.11 中, ...
- 【NOIP2013 普及组】车站分级
[NOIP2013 普及组]车站分级 一.题目 [NOIP2013 普及组]车站分级 时间限制: 1 Sec 内存限制: 128 MB 提交: 3 解决: 0 [提交][状态][讨论版] 题目描述 ...
- 数据结构--栈的应用(表达式求值 nyoj 35)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=35 题目: 表达式求值 时间限制:3000 ms | 内存限制:65535 KB描述 AC ...
- CH BR4思考熊(恒等有理式-逆波兰表达式求值)
恒等有理式 总时限 10s 内存限制 256MB 出题人 fotile96 提交情况 4/43 描述 给定两个有理式f(X)与g(X),判断他们是否恒等(任意A,如果f(A)与g(A)均有定义,那么f ...
- C/C++ 语言中的表达式求值(原文作者:裘宗燕)
经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?”m = 1; n = m+++m++;最近有位不相识的朋友发email给我,问为什么在某个C++系统里,下面表达式打印出两个4, ...
- ZT C,C++表达式求值顺序 裘老的解释。 [问题点数:300分]
http://bbs.csdn.net/topics/370153775 [置顶] [推荐] C,C++表达式求值顺序 裘老的解释. [问题点数:300分] 最近这问题有从日经变时经的趋势,这里贴出裘 ...
随机推荐
- zeppelin安装及配置
1.下载安装包,zepplin下载地址:http://zeppelin.apache.org/download.html #创建解压目录 mkdir -p /opt/software #解压 tar ...
- linux_16
对常用I/O模型进行比较说明 nginx中的模块分类及常见核心模块有哪些 描述nginx中worker_processes.worker_cpu_affinity.worker_rlimit_nofi ...
- pytest(6)-Fixture(固件)
什么是固件 Fixture 翻译成中文即是固件的意思.它其实就是一些函数,会在执行测试方法/测试函数之前(或之后)加载运行它们,常见的如接口用例在请求接口前数据库的初始连接,和请求之后关闭数据库的操作 ...
- [LeetCode]26.删除有序数组中的重复项(Java)
原题地址: remove-duplicates-from-sorted-array 题目描述: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的 ...
- 趣谈IO多路复用的本质
在<轻松搞懂5种IO模型>中,我发起了一个投票. 答案是[同步IO多路复用].目前,60%的朋友答对了.原因这里解释一下. 同步和异步的概念区别 同步:线程自己去获取结果.(一个线程) 异 ...
- html页面预览pdf文件使用插件pdfh5.js
html预览pdf文件需要依赖pdf.js 移动端适配需要pdfh5.js 记录移动端适配pdfh5.js的用发 在线预览: https://www.gjtool.cn/pdfh5/pdf.html? ...
- Welcom to my studyspace! 欢迎来到我的学习空间!
由于新手,博客才刚开始起步,用于记录我的学习,博客的建设后续需要将其完善 对我的博客进行diy 用于分享我的学习经历,一些笔记,还有一些小小的心得
- spring的事务是如何回滚的、事务传播?
实际上也是问的这个问题 spring的事务管理是如何实现的?总: spring的事务是由aop来实现的,首先要生成具体的代理对象,然后按照aop的整套流程来执行具体的操作逻辑,正常情况下要通过通知来 ...
- Spring Cloud Nacos实现动态配置加载的源码分析
理解了上述Environment的基本原理后,如何从远程服务器上加载配置到Spring的Environment中. NacosPropertySourceLocator 顺着前面的分析思路,我们很自然 ...
- 医疗BI系统的数据分析是怎样的?
在社会日益发展和信息化的过程中,已经发展处行业化.智能化的各类IT系统及子系统,如ERP.CRM.财务等等.实现经营流程数字化的同时,各行业企业的数据库日益庞大,医疗行业也不例外.我国医疗行业经过多年 ...