C/C++ 走方格 图解暴力遍历过程【简单易懂,代码可以直接运行】

C/C++ 走方格 图解递归过程【简单易懂,代码可以直接运行】

给定一个 n×m 的方格阵,沿着方格的边线走,从左上角 (0,0) 开始,每次只能往右或者往下走一个单位距离,问走到右下角 (n,m) 一共有多少种不同的走法。

输入格式
共一行,包含两个整数 n 和 m。

输出格式
共一行,包含一个整数,表示走法数量。

数据范围
1≤n,m≤10
输入样例:
2 3
输出样例:
10

这道题我用的是暴力搜索,非常暴力啊。毫无技巧可言!!
C/C++ 走方格 图解暴力遍历过程【简单易懂,代码可以直接运行】_第1张图片

核心代码如下:

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);
	}
}

图解核心代码:
C/C++ 走方格 图解暴力遍历过程【简单易懂,代码可以直接运行】_第2张图片
利用坐标将这道题转化为暴力搜索问题。非常简单易懂嗷~~,x是向下走,y是想右走

点个吧,秋梨膏

代码如下:

#include
using 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<<ans;
	return 0;
 } 

不过我见有大佬用动态规划来写这道题,非常牛,抽风!!
C/C++ 走方格 图解暴力遍历过程【简单易懂,代码可以直接运行】_第3张图片

点个吧,秋梨膏

你可能感兴趣的:(算法基础语言部分,c++,c语言,开发语言)