题目
请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。
注:沿棋盘格之间的边缘线行走
数据范围: 1≤n,m≤8 1≤n,m≤8
输入描述:
输入两个正整数n和m,用空格隔开。(1≤n,m≤8)
输出描述:
输出一行结果
答案
#include <iostream>
using namespace std;int f(int n, int m)
{if (n == 1)return m + 1;else if (m == 1)return n + 1;elsereturn f(n, m - 1) + f(n - 1, m);}
int main() {int m, n;while (cin >> n >> m) { // 注意 while 处理多个 casecout << f(n, m) << endl;}return 0;
}