有哪位大佬能找一下错:50pts
  • 板块P1689 方程求解
  • 楼主lj2013
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/11 19:13
  • 上次更新2025/1/11 22:08:30
查看原帖
有哪位大佬能找一下错:50pts
1445455
lj2013楼主2025/1/11 19:13
#include <bits/stdc++.h>

using namespace std;

#define ll long long

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    
    string sA = "";
    ll llA = 0;
    ll llB = 0;
    ll llC = 0;
    ll llCnt = 0;
    ll llAns = 0;
    bool bA = false;
    
    getline(cin, sA);
    
    for (ll i = 0; i < sA.size(); i++)
    {
    	if (' ' == sA[i])
    	{
    		sA.erase(i, 1);
    		i--;
		}
	}
    
    for (ll i = 0; i < sA.size(); i++)
    {
        if (sA[i] != ' ')
        {
            if (sA[i] == '?')
            {
                llAns = llCnt;
            }
            else if ((sA[i] == '+') || (sA[i] == '-') || (sA[i] == '='))
            {
                if (sA[i] == '+')
                {
                    bA = true;
                }
                
                llCnt++;
            }
            else
            {
                if (llCnt == 0)
                {
                    llA = llA * 10 + (sA[i] - '0');
                }
                else if (llCnt == 1)
                {
                    llB = llB * 10 + (sA[i] - '0');
                }
                else
                {
                    llC = llC * 10 + (sA[i] - '0');
                }
            }
        }
    }
    
    if (bA)
    {
        if (llAns == 0)
        {
            cout << llC - llB << endl;
        }
        else if (llAns == 1)
        {
            cout << llC - llA << endl;
        }
        else
        {
            cout << llA + llB << endl;
        }
    }
    else
    {
        if (llAns == 0)
        {
            cout << llB + llC << endl;
        }
        else if (llAns == 1)
        {
            cout << llA - llC << endl;
        }
        else
        {
            cout << llA - llB << endl;
        }
    }
    
    return 0;
}
//10 000 000 00- ?  = 1000000000

2025/1/11 19:13
加载中...