题解 | #Digital Folding#

A+B Problem

https://ac.nowcoder.com/acm/contest/120561/A

本题意思是:给定左右区间L、R,找出L<=x<=R的x的逆序最大值。有多种情况需要讨论。 1、L和R是相同位数时,例如124368和124897两个数,我发现,我们只要找到两个数从左往右开始不同时的数,将其变成小于R的这位数减一,也就是所举例中的124897中的8变成7,然后后面都变成9,最后这个数就是124799,reverse一下变成997421,再将其与R的逆序比较大小,也就是和所举例中的789421,最终得到答案。再次举例,如L是10,R是20,从第一位就不同,那就把R的第一位2变成1,后面的0变成9,也就是19的倒序91,将91和20的倒序比较大小。 2、L和R是不同的位数时,例如124789和2000000,此时将L变成最小的R的位数,也就是所举例中的1000000,此时的方法同第一种相同。 特殊情况:L和R相同时,直接输出此值;R是除了最高位不是零,其他为都是零时,又L不等于R,直接输出R-1即可。

全部评论

相关推荐

01-30 09:45
燕山大学 Java
喵_coding:这种直接跑就完事了 哪有毕业了才签合同 任何offer和三方都没有的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务