首页 > 其他 > 详细

洛谷 P1981 表达式求值(模拟)

时间:2019-11-11 19:04:29      阅读:107      评论:0      收藏:0      [点我收藏+]

嗯...

 

题目链接:https://www.luogu.org/problem/P1981

 

这道题其实是数组模拟栈。首先处理乘法:注意从后往前处理,处理后归零。然后把数都加起来即可。

 

AC代码:

技术分享图片
 1 #include<cstdio>
 2 #include<iostream>
 3 
 4 using namespace std;
 5 
 6 char c[100005];
 7 long long a[100005];
 8 
 9 int main(){
10     int cnt = 1;
11     long long sum = 0;
12     cin >> a[cnt];
13     a[cnt] %= 10000;
14     while(cin >> c[cnt]){
15         cin >> a[++cnt];
16         a[cnt] %= 10000;
17     }
18     for(int i = cnt; i >= 1; i--){
19         if(c[i] == *){
20             a[i] *= a[i+1];
21             a[i] %= 10000;
22             a[i+1] = 0;
23         }
24     }
25     for(int i = 1; i <= cnt; i++) {sum += a[i]; sum %= 10000;}
26     printf("%lld", sum);
27     return 0;
28 }
AC代码

 

 

 

洛谷 P1981 表达式求值(模拟)

原文:https://www.cnblogs.com/New-ljx/p/11837308.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!