java题目HJ91 走方格的方案数

描述

请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。
 
注:沿棋盘格之间的边缘线行走
 
本题含有多组样例输入。
 
数据范围: 1 \le n,m \le 8 \1n,m8 
 

输入描述:

每组样例输入两个正整数n和m,用空格隔开。(1≤n,m≤8)

输出描述:

每组样例输出一行结果

示例1

输入:
2 2
1 2
输出:
6
3

 

 

复制代码
 1 import java.io.*;
 2 import java.util.*;
 3  /*
 4  把问题解法定为f(n,m),从左上角第1个点开始,
 5  如果往右走1步,剩下的问题就变成了f(n-1,m); 
 6  如果一开始往下走一步,剩下的问题就变成f(n,m-1), 
 7  一直递归,就有了f(n,m)=f(n-1,m)+f(n,m-1)。
 8  */
 9 public class Main {
10     public static void main(String[] args) throws IOException {
11         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
12         String s = null;
13         while((s = br.readLine()) != null) {
14             String[] s1 = s.split(" ");
15             int a = Integer.parseInt(s1[0]);
16             int b = Integer.parseInt(s1[1]);
17             System.out.println(cal(a, b));
18         }
19     }
20     
21             private static int cal(int m, int n) {
22             if(m ==1 || n == 1) {
23                 return m+n;
24             } else
25                 return cal((m-1),n) + cal(m, (n-1));
26         }
27 }
复制代码

 

posted @   海漠  阅读(150)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示