Java蓝桥杯——振兴中华

该博客介绍了一个跳格子游戏,玩家需从左上角开始,按照'从我做起振兴中华'的顺序到达'华'字。通过递归算法实现寻找所有可能的跳跃路线,并计算总路线数。提供的代码展示了如何使用深度优先搜索(DFS)解决此问题。
摘要由CSDN通过智能技术生成

题目描述:

进行跳格子游戏,一下==以下是格子的具体布局

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

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

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

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


具体代码:

package easy;

public class Number_n {
	public static void main(String[] args) {
		int result = dfs(0,0);
		System.out.println(result);
	}
	
	private static int dfs(int i,int j){
		if(i==4 || j==3)		//由图可知,当走到最后一排和最后一列的任意
			return 1;			//一个位置时,接下来都只有一种走法了
		return dfs(i+1,j)+dfs(i,j+1);		//类似于从终点回溯回去
	}
}
 


注意问题:

1、(虽然没有用到)java定义二维数组:int[][] a = {{1,2,3},{4,5,6},{7,8,9}};

2、注意审题,跳格子只能往下和右跳(这样才能达到想要的结果)。并且,到最后一行或最后一列的每一个格子时,别无选择,只有一条路可走。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值