赵文浚 • 8个月前
#include<bits/stdc++.h>
#define Mod 1000000000+7
using namespace std;
long long n,a,b;
int dir[4]={1,2,-1,-2};
int vis[1000000+5];
long long total=0;
void dfs(int x)
{
total%=Mod;
if(x==b)
{
total++;
return;
}
for(int i=0;i<4;i++)
{
int next_x = x+dir[i];
if(next_x < 0 || next_x > n)
{
continue;
}
if(vis[next_x]==1)
{
continue;
}
vis[next_x]=1;
dfs(next_x);
vis[next_x]=0;
}
}
int main()
{
cin>>n>>a>>b;
vis[a]=1;
dfs(a);
cout<<total;
return 0;
}
评论: