又是一道恶意评分……
怎么我昨天做的时候是黑题,过了一天就掉蓝了?
不吐槽了,说正事:
这题简直水到不能再水了,先求出\(a,b,c\)的值,再将\(a,b,c\)的每一位数字分离出来,将\(0\)去掉后再求它的值,判断一下就\(OK\)了!
代码如下:
#include <cstring>
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <string>
#include <ctime>
using namespace std;
template <class T>
inline void r(T &a)//快读
{
T s=0,w=1;
char ch=getc(stdin);
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getc(stdin);}
while(ch>='0'&&ch<='9'){s=s*10+ch-'0';ch=getc(stdin);}
a=s*w;
return ;
}
int num(int a)//求一个数的每一位数字
{
int ans=0,i=1;
int b[20];
while(a>0)
{
if(a%10==0)//如果是0,就忽略
{
a/=10;
continue;
}
b[i]=a%10;//不是,就存进数组
i++;
a/=10;
}
for(int j=i-1;j>=1;j--)//求出这个数除去0后是什么数字
ans=ans*10+b[j];
return ans;
}
int main()
{
int a,b,c;
r(a);r(b);//输入
c=a+b;
a=num(a);
b=num(b);
c=num(c);
if((a+b)==c)cout<<"YES";//如果符合,输出YES
else cout<<"NO";//不符合,输出NO
return 0;
}