题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。
地上画着一些格子,每个格子里写一个字,如下所示:
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。
要求跳过的路线刚好构成“从我做起振兴中华”这句话。
请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
//从:0,我:1,做:2,起:3,振:4,兴:5,中:6,华:7
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {static int[] dx=new int[]{0,1};static int[] dy=new int[]{1,0};static int[][] a=new int[][]{{0,1,2,3,4},{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7}};static int ans=0;public static void main(String[] args) {dfs(0,0,a[0][0]);System.out.println(ans);}public static void dfs(int x,int y,int sum){if(x==3&&y==4&&sum==28){ans++;}for(int i=0;i<2;i++){int nx=x+dx[i];int ny=y+dy[i];if(nx>=0&&nx<=3&&ny>=0&&ny<=4){dfs(nx,ny,sum+a[nx][ny]);}}}
}