思路:深度优先搜索(dfs),递归
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll dfs(ll n,ll k) {
if ((n + k) % 2 == 1||n<=k)return 1;//不能继续分
else return dfs((n + k) / 2, k)+dfs((n - k) / 2, k);
}
int main()
{
ll n, k; cin >> n >> k;
cout << dfs(n,k);
return 0;
}