msh:will,这题怎么做啊?
will:看论文去。
ql:msh,这题怎么做啊?
will:这么简单的题都不会啊!
jzt:ql,这题怎么做啊?
will:哈哈,你等着,看哥来教你。
一日,再一次被bs之后,大家终于忍无可忍了。决定出点题难住will,好打压一下will嚣张的气焰。
不过,由于大家的智商有限,只会加减法,经过商讨,总是让will回答诸如a+b或者a-b之类的问题,似乎难不住他。终于,jzt想到一个很NB的办法:让他算a+?=b。jzt:这么NB的难题都被我想到了,哈哈!
will:这种题,看论文去……
will:看论文去。
ql:msh,这题怎么做啊?
will:这么简单的题都不会啊!
jzt:ql,这题怎么做啊?
will:哈哈,你等着,看哥来教你。
一日,再一次被bs之后,大家终于忍无可忍了。决定出点题难住will,好打压一下will嚣张的气焰。
不过,由于大家的智商有限,只会加减法,经过商讨,总是让will回答诸如a+b或者a-b之类的问题,似乎难不住他。终于,jzt想到一个很NB的办法:让他算a+?=b。jzt:这么NB的难题都被我想到了,哈哈!
will:这种题,看论文去……
输入
输入一个等式,形如A+B=C或A-B=C。给定其中的两个数,请确定其中的第三个数。其中0<=A,B,C<1,000,000,000,没有给定的数用一个单独的“?”表示,等式中没有多余空格。
输出
直接输出要求的第三个数,用回车结尾。
样例输入 Copy
【样例1】
1+2=?
【样例2】
1+?=3
样例输出 Copy
【样例1】
3
【样例2】
2
#include<cstdio> #include<iostream> #include<algorithm> #include<map> #include<string> #include <math.h> #include<memory.h> #include<cstring> using namespace std; using namespace std; typedef long long ll; inline int read() { int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } const int INF=0x3f3f3f3f; const int maxn=1e6+10; string a; void inint(){ cin>>a; } int main(){ inint(); int len=a.size(); // cout<<len<<endl; // printf("%c ",a[len-1]); if(a[0]=='?'){ int flag;//1+//2- if(a[1]=='+'){ flag=1; } else if(a[1]=='-'){ flag=2; } ll sum1=0; ll sum2=0; int k; for(k=2;k<len;k++){ if(a[k]=='='){ break; } sum1=sum1*10+(a[k]-'0'); } for(int i=k+1;i<len;i++){ sum2=sum2*10+(a[i]-'0'); } if(flag==1){ printf("%lld",sum2-sum1); } else if(flag==2){ printf("%lld",sum1+sum2); } } else if(a[len-1]=='?'){ ll sum1=0; ll sum2=0; int k; int flag; for(k=0;k<len;k++){ if(a[k]=='+'||a[k]=='-'){ break; } sum1=sum1*10+(a[k]-'0'); } if(a[k]=='+'){ flag=1; } else if(a[k]=='-'){ flag=2; } for(int i=k+1;i<len;i++){ if(a[i]=='='){ break; } sum2=sum2*10+(a[i]-'0'); } if(flag==1){ printf("%lld",sum1+sum2); } else if(flag==2){ printf("%lld",sum1-sum2); } } else{ ll sum1=0; ll sum2=0; int k; int flag; for(k=0;k<len;k++){ if(a[k]=='+'||a[k]=='-'){ break; } sum1=sum1*10+(a[k]-'0'); } if(a[k]=='+'){ flag=1; } else if(a[k]=='-'){ flag=2; } for(int i=k+3;i<len;i++){ sum2=sum2*10+(a[i]-'0'); } if(flag==1){ printf("%lld",sum2-sum1); } else if(flag==2){ printf("%lld",sum1-sum2); } } }