zoukankan      html  css  js  c++  java
  • ccf 2019_03_2 二十四点

    /*
    * @Author: tp
    * @Date:   2019-11-18 18:34:10
    * @Last Modified by:   tp
    * @Last Modified time: 2019-11-18 18:48:52
    */
    #include <cstdio>
    #include <iostream>
    #include <cstdlib>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    #include <stack>
    #include <queue>
    #include <set>
    #include <map>
    #include <ctime>
    #include <vector>
    #include <list>
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    int jisuan(int a, char c, int b)
    {
        if (c == '+')
            return a + b;
        else if (c == '-')
            return a - b;
        else if (c == 'x')
            return a * b;
        else if (c == '/')
            return a / b;
    
    }
    int main()
    {
        int n;
        cin>>n;
        while(n--)
        {
            stack<int> qint;
            stack<char> qchar;
            char a[8];
            cin>>a;
            for (int i = 0; i < 7; ++i)
            {
                if (a[i]=='x'||a[i]=='/')
                {
                    int b=qint.top();
                    qint.pop();
                    int x=jisuan(b,a[i],a[i+1]-'0');
                    i++;
                    qint.push(x);
                }
                else if(a[i]=='-'||a[i]=='+')
                {
                    qchar.push(a[i]);
                }
                else qint.push(a[i]-'0');
            }
            stack<int> qint2;
            stack<char> qchar2;
            while(!qchar.empty())
            {
                qchar2.push(qchar.top());
                qchar.pop();
            }
            while(!qint.empty())
            {
              qint2.push(qint.top());
              qint.pop();
            }
            while(!qchar2.empty())
            {
                int a=qint2.top();
                qint2.pop();
                int b=qint2.top();
                qint2.pop();
                char x=qchar2.top();
                qchar2.pop();
                qint2.push(jisuan(a,x,b));
            }
            if(qint2.top()==24)
               cout<<"Yes"<<endl;
            else cout<<"No"<<endl;
        }
        return 0;
    }
  • 相关阅读:
    在位图上写字
    删除文件到回收站中
    Blog改名字了
    [C#]强类型
    [C#] 如何选择一个目录
    [.NET]Visual Studio 2003的一个bug
    PHP句法规则详解
    php获取本地实际IP
    从0开始学编程(1)115 大致了解
    httpd2.2.21 + php5.3.8 自动安装脚本
  • 原文地址:https://www.cnblogs.com/tp25959/p/11170696.html
Copyright © 2011-2022 走看看