[蓝桥杯]-振兴中华
2017-03-31 22:29
232 查看
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。
地上画着一些格子,每个格子里写一个字,如下所示
从我做起振
我做起振兴
做起振兴中
起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里
但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。 要求跳过的路线刚好
构成“从我做起振兴中华”这句话。 请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
这种题目一般有一定的规律,不然基数大了,人眼去数肯定是做不到的。
我们发现,从第二行,第二列开始,每个格子里的数据都等于该格子同一行的前一个数与同一列的上一个数的和
即 arr[i][j] = arr[i-1][j]+arr[i][j-1]
所以,悠以上规律,我们得到
地上画着一些格子,每个格子里写一个字,如下所示
从我做起振
我做起振兴
做起振兴中
起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里
但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。 要求跳过的路线刚好
构成“从我做起振兴中华”这句话。 请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
这种题目一般有一定的规律,不然基数大了,人眼去数肯定是做不到的。
我们发现,从第二行,第二列开始,每个格子里的数据都等于该格子同一行的前一个数与同一列的上一个数的和
即 arr[i][j] = arr[i-1][j]+arr[i][j-1]
所以,悠以上规律,我们得到
public class Main { public static void main(String[] args) { int arr[][] = new int[4][5]; for(int i=0; i<4; ++i){ for(int j=0; j<5; ++j){ if(i==0) { arr[i][j] = 1; } else { if(j==0) arr[i][j] = 1; else arr[i][j] = 0; } } } for(int i=1; i<4; ++i){ for(int j=1; j<5; ++j){ arr[i][j] = arr[i-1][j]+arr[i][j-1]; } } System.out.println(arr[3][4]); } }
相关文章推荐
- 第四届蓝桥杯C/C++A组题目:振兴中华
- 蓝桥杯之振兴中华
- 第四届蓝桥杯C++A组 振兴中华
- 第四届蓝桥杯A组--从我做起振兴中华
- 2013蓝桥杯省赛A组-----从我做起振兴中华
- 第四届蓝桥杯 振兴中华
- 第四届蓝桥杯 省赛 JavaB组 振兴中华
- 蓝桥杯 历届试题 振兴中华
- 2013年第四届蓝桥杯试题(C/C++本科A组) 振兴中华
- 蓝桥杯:振兴中华
- 第四届蓝桥杯JAVA B组省赛真题-振兴中华
- 蓝桥杯-振兴中华
- 锻炼身体 振兴中华
- (接上)第9题振兴中华
- 振兴中华
- 振兴中华(又见递归搜索)
- 振兴中华
- 蓝桥杯C语言培训2 递归原理与构造技巧 例题1 振兴中华
- 振兴中华
- 2013 蓝桥杯 2013预赛C本科-A组 所有试题解析,高斯日记+排它平方数+振兴中华+颠倒的价牌+前缀判断+逆波兰表达式+买不到的数目+剪格子+大臣的旅费