蓝桥杯Java 振兴中华 (深度优先遍历)

文章目录

  • 题目
  • 来源及难度
  • 解题思路
  • 代码


题目

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

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

地上画着一些格子,每个格子里写一个字,如下所示:

蓝桥杯Java 振兴中华 (深度优先遍历)_第1张图片

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

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

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

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

来源及难度

难度: 简单 ,2013年省赛填空题


解题思路

利用深度优先遍历解决此问题,构成“从我做起振兴中华”,八个字,一开始会占到“从”上,最后到达“华”上,这两个位置是确定的。这张图片,中间的字都是上和左相同,下和右相同,拿“起”字为例,意味着只能向下或者向右,在到达第四行时,无法向下,只有向右的一条路,数量加1就可以;到达第五列同理,只有向下一条路,数量加1然后返回。


代码

package DFS;

public class Dfs {

	public static void main(String[] args) {
		System.out.println(Dfs(0,0));
	}
	static int Dfs(int i,int j) {
		if (i==3||j==4) {
			return 1;
		}
		return Dfs(i+1, j)+Dfs(i, j+1);
	}
}

你可能感兴趣的:(蓝桥杯,java,蓝桥杯)