luogu#P8044. [COCI2015-2016#4] YODA

[COCI2015-2016#4] YODA

题目背景

很久很久以前,在一个遥远的星系里,一个巨大的整数碰撞正在发生。

题目描述

当两个整数碰撞时会发生什么?先将数位较少的数前不断添加前导 00 直到和数位较高的数的数位数量相同为止。然后,从两个数的最低位开始,每次将两个数的对应数位进行比较,并删去较小的那个数位(如果这两个数位相等则不执行任何操作),不断向高数位执行上述操作,直到最高位为止。此时,将这两个数中没有删去的数位按顺序依次拼接,可以得到两个新数。

例如,对于 456328456328284315284315 这两个数,这两个的碰撞过程如下所示:

44  5 \sout{~5~} 66 33 22 88
 2 \sout{~2~} 88  4 \sout{~4~} 33  1 \sout{~1~}  5 \sout{~5~}

不难看出,碰撞之后得到的两个新数为 46328463288383

现在给定两个数 n,mn,m,请求出这两个数进行碰撞之后分别得到的新数。如果某个数在进行碰撞之后,其数位都已经被删空了,则在输出中输出一行字符串 YODA。具体见『输出格式』部分。

输入格式

第一行输入一个整数 nn,表示要进行碰撞的第一个数。
第二行输入一个整数 mm,表示要进行碰撞的第二个数。

输出格式

输出共两行。

第一行中,如果 nn 的数位已经删空,则输出一个字符串 YODA,否则输出一个整数,表示 nn 进行碰撞后得到的新数。
第二行中,如果 mm 的数位已经删空,则输出一个字符串 YODA,否则输出一个整数,表示 mm 进行碰撞后得到的新数。

300
500
0
500
65743
9651
673
95
2341
6785
YODA
6785

提示

【样例解释 2】

对于样例 22,这两个数碰撞的过程如下所示:

66  5 \sout{~5~} 77  4 \sout{~4~} 33
 0 \sout{~0~} 99  6 \sout{~6~} 55  1 \sout{~1~}

因此,碰撞之后得到的两个新数分别是 6736739595

【数据范围】

对于 30%30\% 的数据,保证 nnmm 由三位数字组成。
对于所有数据,1n,m1091\leqslant n,m\leqslant 10^9

【题目来源】

本题来源自 COCI 2015-2016 CONTEST 4 T1 YODA,按照原题数据配置,满分 5050 分。

Eason_AC 翻译整理提供。