给定一个 n×m 的方格阵,沿着方格的边线走,从左上角 (0,0) 开始,每次只能往右或者往下走一个单位距离,问走到右下角 (n,m) 一共有多少种不同的走法。
输入格式
共一行,包含两个整数 n 和 m。
输出格式
共一行,包含一个整数,表示走法数量。
数据范围
1≤n,m≤10
输入样例:
2 3
输出样例:
10
这道题我用的是暴力搜索,非常暴力啊。毫无技巧可言!!
核心代码如下:
void dfs(int x,int y)
{
if(x == m && y == n) ans++;
else
{
if(x < m) dfs(x + 1,y);
if(y < n) dfs(x, y + 1);
}
}
图解核心代码:
利用坐标将这道题转化为暴力搜索问题。非常简单易懂嗷~~,x是向下走,y是想右走
点个吧,秋梨膏
代码如下:
#includeusing namespace std; int ans; int m,n; void dfs(int x,int y) { if(x == m && y == n) ans++; else { if(x < m) dfs(x + 1,y); if(y < n) dfs(x, y + 1); } } int main() { cin>>m>>n; dfs(0,0); cout< 不过我见有大佬用动态规划来写这道题,非常牛,抽风!!
点个吧,秋梨膏



