• java实现第四届蓝桥杯振兴中华


    振兴中华

    题目描述
    小明参加了学校的趣味运动会,其中的一个项目是:跳格子。

    地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)

    从我做起振
    我做起振兴
    做起振兴中
    起振兴中华

    比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。

    要求跳过的路线刚好构成“从我做起振兴中华”这句话。

    请你帮助小明算一算他一共有多少种可能的跳跃路线呢?

    答案是一个整数,请通过浏览器直接提交该数字。
    注意:不要提交解答过程,或其它辅助说明类的内容。

    在这里插入图片描述

    解题思路
    这是一道简单的深搜题,我们可以把每个格子抽象为一个坐标,从(0,0),华(3,4)这样。题意说横向或纵向跳到相邻的格子里,但我们发现只有向下走或者向右走才能达到要求,向上走或者想左走都不可能达到要求。所以在路线的总数为所在格子向下走的线路数和想右走的线路数的总和,当走到下边界或者右边界时,线路就已经确定了。

    public class Main {
     
    	public static void main(String[] args) {
    		int ans = 0;
    		ans = dfs(0, 0);
    		System.out.println(ans);
    	}
     
    	public static int dfs(int i, int j) {
    		if (i == 3 || j == 4) {
    			return 1;
    		}
    		// dfs(i + 1, j):向下走的路线总数;dfs(i, j+ 1):向右走的路线总数
    		return dfs(i + 1, j) + dfs(i, j + 1);
    	}
    }
    

    结果:35

  • 相关阅读:
    Word快捷键大全
    IT人物TOP100英雄人物榜
    关于简历的理解
    opengl头文件:错误: 无法打开包括文件:“gl/glut.h”: No such file or directory
    关于两次算法竞赛的心得
    MFC中关于将控件与成员变量绑定,实现用子类重载控件
    怎么入门
    正则表达式
    每天更新,督促自己学习
    测试人员的出路
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12947529.html
Copyright © 2020-2023  润新知