zoukankan      html  css  js  c++  java
  • CSP 201903-2 24点

    这是上一次考csp时遇到的一道简单的问题,但是当时太菜了没有写出来。

    问题描述:

    直接上图

    解决思路:

      标准的表达式求解,可以用符号栈和数值栈来存放运算符和数值,需要注意的是从左到右扫描的时候

    遇到 ‘-’ 号可以转换成‘ +’ 号,遇到‘X’和‘/’直接计算,最后 算‘+’运算。

    代码如下:

    #include<iostream>
    #include<stack>
    
    using namespace std;
    stack<int> num;
    stack<char> expr;
    
    int n;
    char a[8];
    int main()
    {
        cin>>n;
        int j,k;
        while(n--)
        {
            cin>>a;
            //cout<<a;
            for(int i=0;i<7;i++)
                {
                    if(a[i]>='0'&&a[i]<='9')
                        num.push(a[i]-'0');
                    else if(a[i]=='+')
                        expr.push(a[i]);
                    else if(a[i]=='-')
                    {
                        expr.push('+');
                        num.push(-(a[++i]-'0'));
                    }
                    else if(a[i]=='x')
                    {
                        j=num.top();
                        num.pop();
                        num.push(j*(a[++i]-'0'));
                    }
                    else{
                        j = num.top();
                        num.pop();
                        num.push(j/(a[++i]-'0'));
                    }
                }
            while(!expr.empty())
            {
                expr.pop();
                j = num.top();
                num.pop();
                k=num.top();
                num.pop();
                num.push(j+k);
            }
            //cout<<num.top()<<endl;
            if(num.top()==24)
                cout<<"Yes"<<endl;
            else
                cout<<"No"<<endl;
        }
        return 0;
    }

    大功告成了,提交查看:

    这就是本题的求解。

    (由于本人是菜鸡(刚刚开始学习),大佬们如果看到勿喷)。

    一条有梦想的咸鱼
  • 相关阅读:
    C#中一些关联名词的含义归纳
    lua杂记
    项目管理工具与常用网站汇总
    SVN用法及常见问题分析
    递归打印lua中的table
    脚本编辑中的一些名词概念
    quick-cocos2d-x lua框架解析(一)对UI进行操作的UiUtil脚本
    lua的table转为excel表格的方法
    前端mvc与mvvm
    ext--创建store
  • 原文地址:https://www.cnblogs.com/Crossea/p/11280838.html
Copyright © 2011-2022 走看看