振兴中华
地上画着一些格子,每个格子里写一个字,如下所示:
从我做起振
我做起振兴
做起振兴中
起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。
要求跳过的路线刚好构成“从我做起振兴中华”这句话。
请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
分析:第一行和第一列的每个格子只有一种到达的路径(第一行的从左边格子到达,第一列的从上面的格子到达),其他的格子都有两条路径可以达到(从上面格子达到,从左边格子达到),所以用数字表示为:
1 | 1 | 1 | 1 | 1 |
1 | 2 | 3 | 4 | 5 |
1 | 3 | 6 | 10 | 15 |
1 | 4 | 10 | 20 | 35 |
public class Main {
public static void main(String[] args) {
int[][] array = new int[4][5];
for (int i = 0; i < 5; i++) {
array[0][i] = 1;
}
for (int j = 0; j < 4; j++) {
array[j][0] = 1;
}
for (int i = 1; i < 4; i++) {
for (int j = 1; j < 5; j++) {
array[i][j] = array[i - 1][j] + array[i][j - 1];
}
}
System.out.println(array[3][4]);
}
}