题解 CF75A 【Life Without Zeros】

又是一道恶意评分……

怎么我昨天做的时候是黑题,过了一天就掉蓝了?

不吐槽了,说正事:

这题简直水到不能再水了,先求出\(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;
}
上一篇:There's more to life than being happy


下一篇:poj3294 Life Forms