第四届蓝桥杯C++A组——振兴中华(dfs)
2017-03-04 20:27
281 查看
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。 地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)
从我做起振
我做起振兴
做起振兴中
起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。 要求跳过的路线刚好构成“从我做起振兴中华”这句话。 请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
答案是一个整数,请通过浏览器直接提交该数字。
注意:不要提交解答过程,或其它辅助说明类的内容。
明显的深搜
#include <iostream> #include <cstring> #include <string> #include <vector> #include <queue> #include <cstdio> #include <set> #include <cmath> #include <algorithm> #include <queue> #define INF 0x3f3f3f3f #define MAXN 100005 #define Mod 10001 using namespace std; int a[4][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7},{4,5,6,7,8}}; int vis[10][10],ans; int dx[]={1,0,-1,0}; int dy[]={0,1,0,-1}; void dfs(int x,int y) { if(a[x][y]==8) { ans++; return; } for(int i=0;i<4;++i) { int xm=x+dx[i]; int ym=y+dy[i]; if(!vis[xm][ym]&&a[xm][ym]==a[x][y]+1) { vis[xm][ym]=1; dfs(xm,ym); vis[xm][ym]=0; } } } int main() { memset(vis,0,sizeof(vis)); ans=0; dfs(0,0); cout<<ans; return 0; }
相关文章推荐
- 2013年第四届蓝桥杯C/C++省赛 第39级台阶(结果填空) ----DFS深度搜索遍历和暴力搜索
- 第四届蓝桥杯C++B组——第39级台阶(dfs)
- 第四届蓝桥杯C++B组——李白打酒(dfs)
- 第四届“蓝桥杯”全国软件专业人才设计与创业大赛选拔赛 C/C++本科B组 主讲解题思想
- 第四届蓝桥杯C++本科B组预赛解题报告
- 第四届蓝桥杯预赛试题之振兴中华及扩展
- 第四届蓝桥杯C/C++本科A组-大臣的旅费
- 第四届 蓝桥杯C/C++ B组:第3题第39级台阶
- 2013第四届蓝桥杯 C/C++本科A组 真题答案解析
- 振兴中华_第四届蓝桥杯选拔赛java B组
- 2013第四届蓝桥杯 C/C++本科A组 真题答案解析【交流帖】
- 2013第四届蓝桥杯 C/C++本科A组 真题答案解析
- 第四届 蓝桥杯C/C++ B组 第8题 翻硬币
- 第四届 蓝桥杯C/C++ 高职 5公约数公倍数
- 第四届 蓝桥杯C/C++ 高职 1、题目标题: 猜年龄
- 2013 蓝桥杯第四届c/c++B组 解题报告(完全解决第四题,代码有点长....)
- 2013第四届 蓝桥杯c/c++B组预赛 解题报告(还在更新中。。。。。)
- 第四届 蓝桥杯C/C++ B组 10连号区间数
- 2013第四届蓝桥杯 C/C++本科A组
- 第四届 蓝桥杯C/C++ B组 第2题 马虎的算式