华为OJ(走方格)

来源:互联网 发布:电力安装预算软件 编辑:程序博客网 时间:2024/05/22 20:15

描述

请编写一个函数(允许增加子函数),计算n x m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。

知识点字符串,循环,函数,指针,枚举,位运算,结构体,联合体,文件操作,递归运行时间限制10M内存限制128输入

输入两个正整数


输出

返回结果

样例输入2 2样例输出6感觉在考察递归的掌握,应该是棋盘类题目中很常见的基础题。

思路:递归step(n,m)=step(n-1,m)+step(n,m-1)  即分别对应第一步先向右、第一步先向下走

#include<iostream>using namespace std;int count_step(int,int);int main(){int n,m;cin>>n;cin>>m;cout<<count_step(n,m);//system("pause");return 0;}int count_step(int n,int m){if(m==0||n==0)return 0;if(n==1&&m>=1)return m+1;if(m==1&&n>=1)return n+1;if(m>1&&n>1)return count_step(n-1,m)+count_step(n,m-1);}


0 0
原创粉丝点击