#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int ans;
void dfs(int n,const int &k){
if((n+k)%2||n<=k){ ans++; return; }
dfs((n-k)/2,k),dfs((n+k)/2,k);
}
int main(){
int n,k;
scanf("%d %d",&n,&k);
dfs(n,k);
printf("%d\n",ans);
return 0;
}
[Usaco2008 Open]Roads Around The Farm分岔路口
原文:https://www.cnblogs.com/akura/p/10864499.html