样例全对50分 悬关 求调
  • 板块P1689 方程求解
  • 楼主_wl_
  • 当前回复7
  • 已保存回复7
  • 发布时间2025/7/20 00:02
  • 上次更新2025/7/20 15:23:38
查看原帖
样例全对50分 悬关 求调
1388686
_wl_楼主2025/7/20 00:02
#include<bits/stdc++.h>
using namespace std;
#define ll long long
string s;
ll num1,num2;
bool s_1;
ll fh;
ll wz;
bool f_pd1,f_pd2;
int main(){
	getline(cin,s);
	for(ll i=0;i<s.size();i++){
		while(s[i]>='0'&&s[i]<='9'){
			if(!s_1){
				num1*=10;
				num1+=(s[i]-'0');
			}else{
				num2*=10;
				num2+=(s[i]-'0');
			}
			i++;
		}
		if(!s_1) s_1=1;
		if(s[i]=='+'||s[i]=='-'){
			f_pd1=1;
			fh=(s[i]=='+'?1:-1);
		}
		if(s[i]=='=') f_pd2=1;
		if(s[i]=='?'){
			if(f_pd1==0){
				wz=1;
			}else if(f_pd1==1&&f_pd2==0){
				wz=2;
			}else{
				wz=3;
			}
		}
	} 
//	cout<<num1<<" "<<num2<<endl;
	if(wz==1){
		if(fh==1){
			cout<<num2-num1;
		}else{
			cout<<num1+num2;
		}
	}else if(wz==2){
		if(fh==1){
			cout<<num2-num1;
		}else{
			cout<<num1-num2;
		}
	}else{
		cout<<num1+num2*fh;
	}
	return 0;
}

2025/7/20 00:02
加载中...