清北学堂模拟赛day7 数字碰撞

Posted ACforever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了清北学堂模拟赛day7 数字碰撞相关的知识,希望对你有一定的参考价值。

 

 

/*
clj:水题别人都满分你不是你就完了,所以说水题一定要细心一点,有这么几个细节:①前导零的处理,全是零的时候要特判②换行要注意,不要多大一行,剩下就是水水的模拟了
*/
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#define ll long long
#define fo(i,l,r) for(int i = l;i <= r;i++)
#define fd(i,l,r) for(int i = r;i >= l;i--)
using namespace std;
const int maxn = 2005;
ll read(){
    ll 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;
}
bool visa[maxn],visb[maxn],oka,okb;
char a[maxn],b[maxn];
int n;
int main(){
    freopen("number.in","r",stdin);
    freopen("number.out","w",stdout);
    do{
        a[++n] = getchar();
    }while(a[n]>=\'0\'&&a[n]<=\'9\');
    n--;
    fo(i,1,n){
        b[i] = getchar();
    }
    fo(i,1,n){
        if(a[i] >= b[i]) visa[i] = true,oka = true;
        if(a[i] <= b[i]) visb[i] = true,okb = true;
    }
    bool buga = false,bugb = false;
    if(!oka) cout<<"BOOM"<<endl;
    else{
        fo(i,1,n) if(visa[i]){
            if(a[i] != \'0\' || i == n) buga = true;
            if(a[i] == \'0\' && !buga) continue;
            cout<<a[i];
        }
        cout<<endl;
    }
    
    if(!okb) cout<<"BOOM"<<endl;
    else{
        fo(i,1,n) if(visb[i]){
            if(b[i] != \'0\' || i == n) bugb = true;
            if(b[i] == \'0\' && !bugb) continue;
            cout<<b[i];
        }
    }
    return 0;
} 

 

以上是关于清北学堂模拟赛day7 数字碰撞的主要内容,如果未能解决你的问题,请参考以下文章

清北学堂模拟赛day7 错排问题

清北学堂国庆day7解题报告

清北学堂模拟赛d7t1 消失的数字

清北学堂模拟赛d2t2 位运算2(bit)

清北学堂模拟赛d1t2 火柴棒 (stick)

清北学堂模拟赛d1t1 位运算1(bit)