【2012.02.25普及组】探索的奶牛
FJ的奶牛喜欢探索农场周围的地形。一开始,所有N(1<=N<=1,000,000,000)只奶牛一起出发,但当碰到路口时,这一群牛可能会分成两部分(不能为空),每一部分都继续前进,当碰到另一个路口时,再分成两部分,如此反复下去。。。
-假设路上到处都是新的岔口,计算最终被分成多少支队伍。
var // 这题数据看起来有点吓人其实。。。 很随意
n,k:real;s:longint;
procedure dfs(o:real);
begin
if ((o/2+k/2)-trunc(o/2+k/2)>0)or(o<=k) //如果 这一队的奶牛数除以(实型)2+分开后两队的间隔除以2是整数的话,就说明可以分。
then begin inc(s); exit; end; //当前节点无法再分时就退出,总节点数+1
dfs(o/2+k/2);
dfs(o/2-k/2);
end;
begin
readln(n,k);
dfs(n);
write(s);
end.