问题 B: 2024 北京中小学信息学能力测评活动-小高组-样例-T2-数字游戏

问题 B: 2024 北京中小学信息学能力测评活动-小高组-样例-T2-数字游戏

时间限制: 1 Sec  内存限制: 128 MB
提交: 22  解决: 7
[提交] [状态] [讨论版] [命题人:]

题目描述

小明和小红在做一个数字游戏。小明写出一个二进制数,小红必须交换其中的两个数字来得出一个新的二进制数(必须进行交换操作且只能交换两个数字)。
小明想知道所有得到的新二进制数中第二大的数是几。小红知道怎么计算最大的数,但是她不知道怎么计算第二大的数,你能帮帮她么?

输入

共一行。为小明给出的一个二进制数,不包含前导零。保证所有输入的二进制数通过交换一定能产生至少两个比原数更大的数字。


对于 30%的数据,保证输入的二进制数长度<=10。
对于 60%的数据,保证输入的二进制数长度<=1000。
对于 100%的数据,保证输入的二进制数长度<=1000000。


输出

共一行。为小红执行交换操作后第二大的二进制数

样例输入 Copy

1110011

样例输出 Copy

1111001

提示

样例解释:
交换后最大的二进制数为 1111010,交换的是第四位的 0 和第 7 位的 1。第二大的二进制数为 1111001,交换的是第四位的 0 和第 6 位的 1。


输入解释:
如数字:11110000,不论如何交换,交换后一定会变小,这种输入情况不会存在;再比如数字:101000,交换后只会产生一个比他大的数字 110000,无法通过交换得到第二个比原数字更大的数,这种输入情况也不会存在