题目描述:
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子,每个格子里写一个字,如下所示:
从我做起振
我做起振兴
做起振兴中
起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。要求跳过的路线刚好构成“从我做起振兴中华”这句话。
请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
【思路】
这是一道简单的DFS题,主要解题思路就是深度收索及递归思想,这题就是简要的深搜递归题,把每个格子抽象为一个坐标,从(0,0),华(3,4)这样。根据题意只有向下走或者向右走才能达到要求。所以在路线的总数为所在格子向下走的线路数和想右走的线路数的总和,当走到下边界或者右边界时,线路就已经确定了。
public class Main{ public static void main(String[] args) { System.out.println(bfs(0,0)); } public static int bfs(int i,int j) { if(i==3||j==4) { return 1; } return bfs(i+1,j)+bfs(i,j+1);//bfs(i+1,j)向下深搜数+bfs(i,j+1)向右的深搜数 } }【答案】35
【扩展】递归思想
一,递归的三个要素:
1 确定重复体

最低0.47元/天 解锁文章
1635

被折叠的 条评论
为什么被折叠?



