您的位置:首页 > 数据库 > Oracle

HDOJ 5718 Oracle

2016-07-18 14:43 253 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5718



题意给我们一个数字,然后我们可以将其分成两个不含前导零的正整数,且可对每一位进行重新排列,问我们能够得到的最大的两数之和为多少。

很容易想到位数越高肯定值越大,所以最后分出来的结果肯定是一个是1位的数,一个是len-1位的数。

比赛一开始就看出来这点了,但最后还是用了很久才A,题目给出的范围是10^10000000位,比赛的时候居然以为是10^7位(==小编好像不是第一次犯这个错了),大数的范围,自然就一个简单的大数加法模拟就好了。

注意一下没有结果的判断,首先肯定只有一位的数是没有办法分开的,其次,也是很多人被hack的关键,那就是如果所有位数中只有一个不是0,其他都是0的情况,这种情况显然也是分不出来的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: