用递归法解决网格走法数目C/C++
来源:互联网 发布:不干胶设计软件 编辑:程序博客网 时间:2024/06/17 00:44
题目描述
有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。
输入描述:
输入包括一行,逗号隔开的两个正整数x和y,取值范围[1,10]。
输出描述:
输出包括一行,为走法的数目。
示例1
输入
3 2
输出
10
分析:要达到坐标(x,y),则其必须经过(x-1,y)或者(x,y-1);所以只需将到达后两者的的步数相加则为到达坐标(x,y)的步数。
代码
#include<iostream>using namespace std;int f(int x, int y){if (x == 0 ||y==0)return 1;elsereturn f(x - 1, y) + f(x, y - 1);}int main(){int x, y;cin >> x >> y;cout << f(x, y);}
题目改变,当不能经过某点时,例如点(1,1)时:
代码:
#include<iostream>using namespace std;int f(int x, int y){if (x == 0 || y == 0)return 1;else if (x == 2 && y == 1)return f(x, y - 1);else if (x == 1 && y == 2)return f(x - 1, y);elsereturn f(x - 1, y) + f(x, y - 1);}int main(){int x, y;while (1){cin >> x >> y;cout << f(x, y)<<endl;}}
阅读全文
1 0
- 用递归法解决网格走法数目C/C++
- 网格走法数目
- 算法:网格走法数目
- 美团点评:网格走法数目
- 美团—网格走法数目
- 网格走法种数
- 【c++】利用递归实现走迷宫
- 城市街道 网格 走法 动态规划
- 丢失的三个元素、网格走法
- c 语言用递归法倒序字符串
- 递归算法求老鼠走迷宫(C语言)
- codeforce 374A 网格图最短路走法
- 用汇编与c解决递归问题之比较
- 李洋疯狂C语言之用递归解决李白喝酒问题(附填空题解法)
- 递归法解决回式蛇形矩阵的输出(C语言的实现)
- C语言递归解决数独
- 递归算法 解决fabonaci数列 C语言
- c语言 递归解决约瑟夫问题
- Leetcode OJ 22 Generate Parentheses [Medium]
- 通用数据结构关系
- 001_Linux常用命令 之ls、mkdir、cd、pwd、rmdir、rm、cp、mv、ln
- springmvc入门
- 51nod1103-抽屉原理-N的倍数
- 用递归法解决网格走法数目C/C++
- java中的IO流
- 基于zxing的仿微信二维码扫描界面
- 树莓派-音频设置
- 日历控件
- 《算法图解》的选择排序的python和java实现
- imx6使用tftp下载kernel
- redis 中对key的命令操作
- 编译安装MySQL出现的问题