第三题:振兴中华 题目描述 小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子,每个格子里写一个字 从我做起振 我做起振兴 做起振兴中 起振兴中华 比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位 置。一直要跳到“华”字结束。 要求跳过的路线刚好构成“从我做起振兴中华”这句话。 请你帮助小明算一算他一共有多少种可能的跳跃路线呢? 答案是一个整数,请通过浏览器直接提交该数字。 注意:不要提交解答过程,或其它辅助说明类的内容。 题目分析 题目代码 / dfs(i + 1, j):向下走的路线总数;dfs(i, j+ 1):向右走的路线总数 路: 这是一道简单的深搜题,我们可以把每个格子抽象为一个坐标,从(0,0),华(3,4)这样。题意说横向或纵向跳 到相邻的格子里,但我们发现只有向下走或者向右走才能达到要求,向上走或者想左走都不可能达到要求。所以在 路线的总数为所在格子向下走的线路数和想右走的线路数的总和,当走到下边界或者右边界时,线路就已经确定了。 //巧用坐标,递归 public class Main { public static void main(String[] args) { int ans = f(0, 0); System.out.println(ans); } private static int f(int a,int b){ if (a==3||b==4) return 1; return f(a+1,b)+f(a,b+1); } }