http://acm.hdu.edu.cn/showproblem.php?pid=1271暴力的话一定超时,从n/2枚举到n,还要去掉其中一个数字
所以想下其他办法
先立等式
A+B=N条件的信息只有N还有A和B的不确定关系
找到这个关系就能算出A和B
因为B是A去掉中间一个数字出来的
所以我吧A表示成
A=a*10^(x+1) + b*10^x +c【b代表的是去掉的数字】这样的话B就是
B=a*10^x+c所以N就等于
N=a*11*10^x+b*10^x+2*c而c一定是n的后边若干位数字处以2得到的结果
比如说152
c就可能是0/2=0 2/2=1 12/2=6 52/2=26 152/2 = 76
然后N减去2*c后就是a*11*10^x+b*10^x,再除以10^x得到
a*11+b
因为b是一位的数0~9所以可以进行枚举,然后得到的数字看看是不是符合条件
保存在数组里
排序,输出,OVER~
posted on 2009-02-11 23:06
shǎ崽 阅读(757)
评论(8) 编辑 收藏 引用