zoukankan      html  css  js  c++  java
  • 洛谷P1981表达式求值__(作业)

    想法比较奇特......(写一步看一步

    //后为Debug的过程;

    题目点这里

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=1e6 + 5;
    const int node=1e4;
    
    char ch[maxn],lc='+';
    long long sum,s=1,now_a,len;
    bool is=true,con=true;
    
    int main()
    {
        scanf("%s",ch);
        len = strlen(ch);
        for(int i=0;i<len;i++)
        {
            //printf("ch:%c ",ch[i]);
            if('0'<=ch[i] && ch[i]<='9')
            {
                now_a = (now_a*10%node + (ch[i]-'0')%node)%node;
                //printf("now_a:%lld ",now_a);
            }
            if(i == len-1)
            {
                if(lc=='+') sum = (sum+now_a)%node;
                else
                {
                    s = (s*now_a)%node;
                    sum = (sum+s)%node;
                }
                //printf("<-1> lc:%c s:%lld sum:%lld
    ",lc,s,sum);
            }
            if(ch[i]=='+' && lc=='+')
            {
                sum = (sum+now_a)%node;
                //printf("<1> lc:%c s:%lld sum:%lld
    ",lc,s,sum);
                now_a = 0;
            }
            if(ch[i]=='*')
            {
                s = (s*now_a)%node;
                //printf("<2> lc:%c s:%lld sum:%lld
    ",lc,s,sum);
                now_a = 0;
                lc = '*';
            }
            if(ch[i]=='+' && lc=='*')
            {
                s = (s*now_a)%node;
                sum = (sum+s)%node;
                //printf("<3> lc:%c s:%lld sum:%lld
    ",lc,s,sum);
                now_a = 0;
                s = 1;
                lc = '+';
            }
            //printf("
    
    ");
        }
        printf("%lld
    ",sum);
        return 0;
    }
  • 相关阅读:
    SpringMVC概述
    Spring 声明式事务
    Spring_AOP切面编程
    Spring DI依赖注入
    Spring IOC控制反转
    Spring解耦和耦合
    Spring概述
    HTTP协议常见状态码
    TCP/IP协议的认识
    设计模式-工厂模式(factory)
  • 原文地址:https://www.cnblogs.com/pengcheng-official/p/9456776.html
Copyright © 2011-2022 走看看