数字碰撞
来源:互联网 发布:firefly ubuntu 编辑:程序博客网 时间:2024/05/23 01:57
时间限制:1s;内存限制:256MB
【问题描述】
小 Y 发明了一个新型数字运算规则:数字碰撞,运算规则如下:
1.参不运算的两个数位数必须相同
2.将两个整数的每一位迚行比较,较小的那个数字会被撞碎,较大的数字保留下来(如果两数相同,都会保留)
例如下面例子中:
两个整数 13570 和 21673 碰撞后,对应数位上较小的值已经消失,碰撞的结果为:第一个数字剩下 37,第二个数字剩下 2673。
现在小 Y 想让你写一个程序来实现数字碰撞这一运算
【输入文件】
第一行一个整数 x,表示输入的第一个整数
第二行一个整数 y,表示输入的第二个整数
【输出文件】
输出包含两行,第一个表示 x 碰撞后的结果
第二行表示 y 碰撞后的结果
若 x 或者 y 所有数位上的数字都消失了,该行输出“BOOM”注意都是大写的
【样例输入 1】
13570
21673
【样例输出 1】
37
2673
【样例 1 解释】
参考题目描述
【样例输入 2】
300
500
【样例输出 2】
0
500
【样例 2 解释】
300 第一位被撞碎了,剩下 00,因为不能包含前导 0,输出 0。500 没有任何一位被撞碎
【样例输入 3】
1234
5678
【样例输出 3】
BOOM
5678
【样例 3 解释】
1234 每一位都被撞碎了,输出“BOOM”,5678 没有任何一位被撞碎
【数据范围】
对于 50%的数据,0<=x,y<10^9
对于 80%的数据,0<=x,y<10^100 ,即 x,y 的长度不超过 100
对于 100%的数据,0<=x,y<=10^1000 ,即 x,y 的长度不超过 1000
保证所有 x 和 y的位数相同,且 x,y 本身没有多余的前导 0
#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<vector>#include<climits>#include<string>#include<cstdlib>#include<ctime>#include<map>#define LL long long#define MOD 1000000007using namespace std;char x[1005],y[1005];int len,i,fx,fy,xx,yy;int main(){ freopen("number.in","r",stdin); freopen("number.out","w",stdout); scanf("%s",x); scanf("%s",y); len=strlen(x); for(i=0;i<len;i++) { if(x[i]<y[i]) x[i]='*'; if(y[i]<x[i]) y[i]='*'; } for(i=0;i<len;i++) if(x[i]!='*') { if(fx==0&&x[i]=='0') fx=1; else { fx=1; xx=1; printf("%c",x[i]); } } if(fx==0) printf("BOOM"); else if(xx==0) printf("0"); printf("\n"); for(i=0;i<len;i++) if(y[i]!='*') { if(fy==0&&y[i]=='0') fy=1; else { fy=1; yy=1; printf("%c",y[i]); } } if(fy==0) printf("BOOM"); else if(yy==0) printf("0"); return 0;}
- 数字碰撞
- 碰撞
- 碰撞
- 碰撞
- 碰撞
- 碰撞
- 碰撞
- 碰撞
- 碰撞
- 碰撞
- 碰撞检测
- 碰撞检测
- 物理学----碰撞
- 关于碰撞
- MD5碰撞
- 碰撞检测
- 建立碰撞
- 碰撞检测
- LA -- 3708 Graveyard 【思维】
- 2017 Multi-University Training Contest
- 通过epel安装htop进行系统进程查看
- 一个Tomcat配置多个端口
- 理解restful架构
- 数字碰撞
- nodejs的cookie和session
- 不可重入锁/自旋锁、可重入锁
- 成为java高级工程师需要什么
- 笔记——优先队列(常用)
- 斗鱼大数据的玩法
- 星期转换Date格式错误
- Hdu_6166多源多汇最短路
- (lintcode)第454题 矩阵面积