振兴中华
2016-03-09 11:13
295 查看
振兴中华
才疏学浅,资历欠佳,难免有误,望有心人批评指正。
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子,每个格子里写一个字,如下所示:从我做起振 我做起振兴 做起振兴中 起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。要求跳过的路线刚好构成“从我做起振兴中华”这句话。请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
其实这道题,如果不编程而采用二叉树枚举的话也是可以做出来的(从(0,0)到(3,4),要么向右要么向下)
编程思路:把每个格子都换成一个数字,从0算起,这样,题目就变成了从0格跳到第7格的路线数目。
从我做起振 01234
我做起振兴 12345
做起振兴中 23456
起振兴中华 34567
#include <stdio.h> int a[4][5]; int sum; void dfs(int row,int col,int index) { if(a[row][col]==index && index==7) sum++; else { if(row+1<4) dfs(row+1,col,index+1);//向下 if(col+1<5) dfs(row,col+1,index+1);//向右 } } int main() { int row,col; for(row=0;row<4;row++) for(col=0;col<5;col++) a[row][col]=row+col;//构造矩阵 dfs(0,0,0); printf("sum = %d\n",sum); return 0; }
相关文章推荐
- iOS常用第三方框架总结
- javaWeb之Servlet开发
- 安装 MySQL
- Visual studio 2013打开报异常"Exception has been thrown by the target of an invocation"
- 学习进度条博客-软件工程
- 学习进度条博客
- Python基础--快速改造:字符串
- 支持向量机总结
- python批量验证apk渠道包脚本
- 数据库基本知识
- Haproxy+Keepalived主主高可用
- CodeForces - 630I Parking Lot (数学排列组合)
- cmd命令以及window环境的端口转发例子
- weblogic下更改jsp不生效的解决办法
- Android文本输入框EditText的属性和方法
- WebPack系列教程(六):使用LOADERS
- 欧拉项目第五题 Smallest multiple
- Servlet3.0---异步支持
- 使用C#和.NET 4编写的并行应用程序“多核并发编程的规则”
- java.net.ConnectException: Connection refused