java题目HJ91 走方格的方案数
描述
请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。
注:沿棋盘格之间的边缘线行走
本题含有多组样例输入。
数据范围: 1 \le n,m \le 8 \1≤n,m≤8
输入描述:
每组样例输入两个正整数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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix