#P2907. [USACO08OPEN] Roads Around The Farm S

[USACO08OPEN] Roads Around The Farm S

题目描述

Farmer John's cows have taken an interest in exploring the territory around the farm. Initially, all N (1 <= N <= 1,000,000,000) cows commence traveling down a road in one big group. Upon encountering a fork in the road, the group sometimes chooses to break into two smaller (nonempty) groups with each group continuing down one of the roads. When one of those groups arrives at another fork, it might split again, and so on.

The cows have crafted a peculiar way of splitting: if they can split into two groups such that the sizes of the groups differ by exactly K (1 <= K <= 1000), then they will split in that way; otherwise, they stop exploring and just start grazing peacefully.

Assuming that there will always be new forks in the road, compute the final number of groups of peacefully grazing cows.

输入格式

* Line 1: Two space-separated integers: N and K

输出格式

* Line 1: A single integer representing the number of groups of grazing cows

题目大意

约翰的 N N 只奶牛要出发去探索牧场四周的土地。它们将沿着一条路走,一直走到三岔路口(可以认为所有的路口都是这样的)。这时候,这一群奶牛可能会分成两群,分别沿着接下来的两条路继续走。如果她们再次走到三岔路口,那么仍有可能继续分裂成两群继续走。

奶牛的分裂方式十分古怪:

如果这一群奶牛可以精确地分成两部分,这两部分的牛数恰好相差 K K 头,那么在三岔路口牛群就会分裂。

否则,牛群不会分裂,她们都将在这里待下去,平静地吃草。 请计算,最终将会有多少群奶牛在平静地吃草。

数据范围:

1N109 1 \le N \le 10^{9}

1K103 1 \le K \le 10^{3}

6 2 

3 

提示

There are 6 cows and the difference in group sizes is 2.

There are 3 final groups (with 2, 1, and 3 cows in them).

6 /
2 4 /
1 3