#37207:


buanyz03 (張晁瑋)

學校 : 新北市立板橋高級中學
編號 : 2629
來源 : [114.25.190.198]
最後登入時間 :
2023-09-06 15:43:50
k950. easy math | From: [203.69.87.1] | 發表日期 : 2023-08-25 09:23

#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <math.h>
using namespace std;
vector <int> v;
bool check(string s)
{
    int sum;
    sum=v[0];

    if(s=="+")
    {
        for(int i=1;i<v.size()-1;++i)
        {
            sum+=v[i];
            if(sum>v[v.size()-1])
            {
                return false;
            }
        }
    }
    else if(s=="-")
    {
        for(int i=1;i<v.size()-1;++i)
        {
            sum-=v[i];
            if(sum<v[v.size()-1])
            {
                return false;
            }
        }
    }
    else if(s=="*")
    {
        for(int i=1;i<v.size()-1;++i)
        {
            sum*=v[i];
            if(sum>v[v.size()-1])
            {
                return false;
            }
        }
    }
    else if(s=="/")
    {
        for(int i=1;i<v.size()-1;++i)
        {
            if(v[i]!=0)
            {
               sum/=v[i];
               if(sum<v[v.size()-1])
               {
                    return false;
               }
            }
        }
    }
    else
    {
        for(int i=1;i<v.size()-1;++i)
        {
            sum=pow(sum,v[i]);
            if(sum>v[v.size()-1])
            {
                return false;
            }
        }
    }

    return (sum==v[v.size()-1]);
}
int main ()
{
    string s;
    stringstream ss;
    string op[5]={"+","-","*","/","**"};
    int n;

    while(getline(cin,s))
    {
        ss.clear();
        ss<<s;
        v.clear();
        while(ss>>n)
        {
            v.push_back(n);
        }
        for(int i=0;i<5;++i)
        {
            if(check(op[i]))
            {
                cout<<op[i]<<endl;
            }
        }
    }
}

最後一筆測資WA 不知道哪裡沒考慮到

 
ZeroJudge Forum