4TLE,实在想不出记忆化搜索怎么写好
#include <iostream>
using namespace std;
int n,m;
const int N = 1e7;
int dp[N] = {0,};
int sum = 0;
int solve(int num,int m1){
if(m1<m){
if(m1==m-1){
m1++;
if(num-1==1||num+1>n){
sum++;
}
}else{
m1++;
if(num-1==0){
solve(n,m1);
solve(num+1,m1);
}else if(num+1>n){
solve(1,m1);
solve(num-1,m1);
}else{
solve(num-1,m1);
solve(num+1,m1);
}
}
}
}
int main(){
cin >> n >> m;
solve(1,0);
cout << sum;
return 0;
}