标题:振兴中华
2015-03-08 09:31
225 查看
标题:振兴中华
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。
地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)
从我做起振
我做起振兴
做起振兴中
起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。
要求跳过的路线刚好构成“从我做起振兴中华”这句话。
请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
答案是一个整数,请通过浏览器直接提交该数字。
注意:不要提交解答过程,或其它辅助说明类的内容。
一道很简单的dfs应用
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。
地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)
从我做起振
我做起振兴
做起振兴中
起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。
要求跳过的路线刚好构成“从我做起振兴中华”这句话。
请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
答案是一个整数,请通过浏览器直接提交该数字。
注意:不要提交解答过程,或其它辅助说明类的内容。
int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; void dfs(int x,int y){ if(map[x][y]==8) sum++; for(int i=0;i<=3;i++){ int dx=x+dir[i][0]; int dy=y+dir[i][1]; if(dx>=0&&dy>=0&&dx<5&&dy<5){ if(book[dx][dy]==0&&map[dx][dy]-map[x][y]==1){ book[dx][dy]=1; dfs(dx,dy); book[dx][dy]=0; } } } } int main(){ for(int i=0;i<4;i++){ for(int j=0;j<5;j++){ cin>>map[i][j]; } } dfs(0,0); cout<<sum<<endl; return 0; }
一道很简单的dfs应用
相关文章推荐
- 第四届蓝桥杯 省赛 JavaB组 振兴中华
- 蓝桥杯-振兴中华
- 第四届蓝桥杯 振兴中华
- 振兴中华
- 第四届蓝桥杯A组--从我做起振兴中华
- 振兴中华
- 蓝桥杯之振兴中华
- 振兴中华
- 振兴中华
- 简单的递归例子——振兴中华
- [蓝桥杯]-振兴中华
- 蓝桥杯:振兴中华
- 蓝桥杯 历届试题 振兴中华
- 振兴中华
- 振兴中华
- 振兴中华
- 标题: 振兴中华 小明参加了学校的趣味运动会,其中的一个项目是:跳格子。 地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg) 从我做起振 我做起振兴 做起
- 2013年第四届蓝桥杯试题(C/C++本科A组) 振兴中华
- 第四届蓝桥杯JAVA B组省赛真题-振兴中华
- (接上)第9题振兴中华