zoukankan      html  css  js  c++  java
  • P1981 表达式求值

    P1981 表达式求值

    题解

    这个题联想一下  P1310 表达式的值

     思路就是输入中缀式,转成后缀式,然后按后缀式计算,完美!!
     
     
     
    but!!
    会严重RE,因为你可能会输入中缀式的时候输入非常的长,然后你还要开栈,开后缀式数组,还要转化,严重RE
     
     
     
    What about 一边输入一边处理??
    How??
    首先你一定会输入一个数字(因为这是中缀表达)
    如果下一个输入运算符的话,一定要再输入一个数字,然后模拟处理一下就好了
     
     
    这道题的关键就是如何一边输入一边处理
     

    代码

    #include<bits/stdc++.h>
    
    using namespace std;
    
    const int mod=1e4;
    
    int x,y,k,ans=0;
    char fu;
    
    int main()
    {
        cin>>x;
        x=x%mod;
        while(cin>>fu)
        {
            if(fu=='
    ') break;
            cin>>y;
            y=y%mod;
            if(fu=='+')
            {
                ans=(ans%mod+x%mod)%mod;
                x=y;
            }
              
            if(fu=='*')
            {
                x=x%mod*y%mod;
            }
    
        }
        
        ans=(ans%mod+x%mod)%mod;
        
        printf("%d",ans);
    
        return 0;
    }
  • 相关阅读:
    事件处理(三)
    事件处理(二)
    事件处理(一)
    布局管理器(一)
    基本控件(三)
    基本控件(二)
    基本控件使用(一)
    Activity与界面
    多态
    final关键字
  • 原文地址:https://www.cnblogs.com/xiaoyezi-wink/p/11043323.html
Copyright © 2011-2022 走看看