#include<bits/stdc++.h> using namespace std; #define N 10     int DFS[N][N]={0}; int dfs(int m, int n){   for(int i=0; i < m; ++i){    if(DFS[i][n]){      DFS[m][n] += DFS[i][n];    }else{      DFS[m][n] += dfs(i, n);    }   }   for(int j = 0; j < n; ++j){    if(DFS[m][j]){      DFS[m][n] += DFS[m][j];    }else{      DFS[m][n] += dfs(m, j);    }   }   DFS[n][m] = DFS[m][n];   return DFS[m][n]; } int main(){           DFS[0][0] = 1;   cout << dfs(3,3) <<endl;   return 0; } 结果是106,动态规划比较容易想到,但是坑爹的是每次不止能走一步,可以走1-3步,所以20是错的。
点赞 评论

相关推荐

牛客464620405号:随便投,随便找,中国经过40多年的改革开放,人才缺口和职位空缺是巨大的,中国现在属于遍地黄金的年代,属于90后和00大机遇的时代
点赞 评论 收藏
分享
牛客网
牛客企业服务