a

赵文浚  •  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; 
}


评论: