【牛客网】HJ91.走方格的方案数

news2024/11/20 7:10:51

题目

在这里插入图片描述

思路

  1. 考虑特殊情况,假设行数为m=1,列数为n 则最短路径为m+n 假设行数为m,列数n=1,则最短路径为m+n
    在这里插入图片描述
  2. 考虑普遍情况 假设行数为m,列数为n 则总路经数为行数为m-1列数为n和行数为m列数为n-1的两个的和
    在这里插入图片描述
  3. 根据上述条件,可以考虑使用递归的方式进行解决

代码

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            int b = in.nextInt();
        
            System.out.print(func(a,b));
        }
    }
    public static int func(int m,int n){
        // 处理特殊情况
        if((m == 1 && n != 1) || (m != 1 && n == 1) || (m == 1 && n ==1)){
            return m + n;
        }
        return func(m , n - 1) + func(m - 1, n);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1112133.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springmvc视图格式——模板引擎freemarker输出HTML文本

目录 1. freemarker 介绍创建测试工程2.2.2) 配置文件2.2.3) 创建模型类2.2.4) 创建模板2.2.5) 创建controller2.2.6) 创建启动类2.2.7) 测试 2.3) freemarker基础2.3.1) 基础语法种类2.3.2) 集合指令(List和Map)2.3.3) if指令2.3.4) 运算符2.3.5) 空值处…

Java设计模式 | 基于订单批量支付场景,对策略模式和简单工厂模式进行简单实现

基于订单批量支付场景,对策略模式和简单工厂模式进行简单实现 文章目录 策略模式介绍实现抽象策略具体策略1.AliPayStrategy2.WeChatPayStrategy 环境 使用简单工厂来获取具体策略对象支付方式枚举策略工厂接口策略工厂实现 测试使用订单实体类对订单进行批量支付结…

VS code中使用code Runner插件直接运行Typescript

使用VS code运行ts 运行问题 我们知道,在VS code中运行.ts文件,是不能直接运行的,需要在修改代码之后,都重复执行两个命令,才能运行ts代码 tsc 文件名.ts (tsc 文件名.ts -w 可以监视ts文件(监视模…

【数字人】5、RAD-NeRF | 通过解耦 audio-spatial 编码来实现基于 NeRF 的高效数字人合成

文章目录 一、背景二、方法2.1 问题定义2.2 Decomposed audio-spatial encoding module2.3 Pseudo-3D Deformable Module 用于控制 torso2.4 训练细节 三、效果3.1 实验设置3.2 对比 论文:Real-time Neural Radiance Talking Portrait Synthesis via Audio-spatial …

【LittleXi】【MIT6.S081-2022Fall】Lab: syscall

【LittleXi】【MIT6.S081-2022Fall】Lab: syscall 文章目录 lab2实验1:Process counting实验思路实验过程 实验2:Free Memory Cou实验思路实验过程 实验3:System call tracin实验思路实验过程 实验4:流程概述1.请概述用户从发出系…

嵌入式养成计划-44----QT--消息对话框(QMessageBox)--字体对话框--颜色对话框--文件对话框

一百一十三、消息对话框 (QMessageBox) 消息对话框给用户提供一个交互式的弹窗,该类提供两种实现版本, 基于属性版本基于静态成员函数版本 基于属性版本 需要用消息对话框这样的类 实例化对象 用该对象调用类里的相关成员函数进…

web:[MRCTF2020]Ez_bypass

题目 点进题目 调整一下 进行代码审计,先看第一段 if(isset($_GET[gg])&&isset($_GET[id])) {$id$_GET[id];$gg$_GET[gg];if (md5($id) md5($gg) && $id ! $gg) {echo You got the first step; get参数传参,后判断md5后的值是否相等&…

2023前端面试题总结

给大家推荐一个实用面试题库 1、前端面试题库 (面试必备) 推荐:★★★★★ 地址:web前端面试题库 Html5和CSS3 常见的水平垂直居中实现方案 最简单的方案当然是flex布局 .father {display: flex;justify-content…

手部关键点检测4:Android实现手部关键点检测(手部姿势估计)含源码 可实时检测

目录 1. 前言 2.手部关键点检测(手部姿势估计)方法 (1)Top-Down(自上而下)方法 (2)Bottom-Up(自下而上)方法: 3.手部关键点检测模型训练 4.手部关键点检测模型Android部署 (1) 将Pytorch模型转换ONNX模型 (2) …

嘉立创使用技巧

立创社区:电子工程师交流社区_电子发烧友论坛_嘉立创&立创商城旗下专业电子论坛【立创社区】 (szlcsc.com) 嘉立创官网使用教程:立创EDA使用教程 (lceda.cn) 嘉立创是国产软件对新手友好,中国人更懂中国人。下面介绍我在使用中用到的技巧…

【unity小技巧】适用于任何 2d 游戏的钥匙门系统和buff系统——UnityEvent的使用

文章目录 每篇一句前言开启配置门的开启动画代码调用,控制开启门动画 新增CollisionDetector 脚本,使用UnityEvent ,控制钥匙和门的绑定多把钥匙控制多个门一把钥匙控制多个门 BUFF系统扩展参考源码完结 每篇一句 人总是害怕去追求自己最重要…

堆-----数据结构

引言 什么是堆?堆是一种特殊的数据结构(用数组表示的树)。 为什么要使用到堆?比如一场比赛,如果使用擂台赛的方式来决出冠军(实力第一),就很难知道实力第二的队伍是什么了。 但是…

Simulink 最基础教程(三)常用模块

3.1源模块 1)clock 这个模块的输出是 y(t)t。很多信号都是和时间 t 相关的,例如正弦波信号,可以写成 sin(w*t) 的形式。虽然软件也提供了正弦波模块,但如果用 clock 模块三角运算模块,对初学者而言,也是很好…

QT_day3

完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到新的界面中 如果账号和密码不匹配&#…

科技资讯|2023全球智能手表预估出货1.3亿块,智能穿戴提升AI功能

根据集邦咨询公布的最新报告,受全球经济低迷影响,2023 年全球智能手表出货量预估为 1.3 亿块。苹果以超过 30% 的份额领先,其次是三星(接近 10%)、华为、Garmin、Fitbit 等。 报告认为苹果、三星和华为等主要智能手表…

智能新零售管理系统哪个好?亿发数字化收银系统提供商,可定制

在数字化时代的背景下,传统收银系统已经无法满足商家不断增加的业务需求。因此,出现了智能门店收银系统,该系统旨在为商家提供更加智能、高效的解决方案,满足商家的个性化需求,帮助中小型商家提高数字化运营能力。 1、…

运筹优化 | Python调用Gurobi求解线性规划 | 代码解析

需要求解的线性规划 from gurobipy import *定义了一个线性松弛问题,并用Gurobi求解 initial_LP Model(initial LP) # 定义变量initial_LP,调用Gurobi的Model,选择Initial Programming(整数规划)模型 x {} # 创建一个…

TCP/IP模型五层协议

TCP/IP模型五层协议 认识协议 约定双方进行的一种约定 协议分层 降低了学习和维护的成本(封装)灵活的针对这里的某一层协议进行替换 四/五层协议 五层协议的作用 应用层 应用层常见协议 应用层常见协议概览 基于TCP的协议 HTTP(超…

【C++】命名空间和using namespace std的注意事项

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

2022年下半年 软件设计师 上午试卷(22题—40题)

对高级语言源程序进行编译或解释的过程中需要进行语法分析,递归子程序分析属于 (22) 的分析法。 (22) A. 自上而下 B. 自下而上 C. 从左至右 D. 从右至左 注意字眼”递归“,自上而下的语法分析方法是一种自…