SDUT2449走迷宫
来源:互联网 发布:mac的免费游戏 编辑:程序博客网 时间:2024/04/29 07:22
#include<bits/stdc++.h>using namespace std;int road,n,m,a[10][10],vis[10][10];void dfs(int x,int y){ if(x<0||x>n-1||y<0||y>m-1||vis[x][y]||a[x][y]) return; else if(x==n-1&&y==m-1) { road++; return; } else { vis[x][y]=1; dfs(x-1,y); dfs(x,y+1); dfs(x+1,y); dfs(x,y-1); vis[x][y]=0; }}int main(){ int T; scanf("%d",&T); while(T--) {scanf("%d%d",&n,&m); for(int i=0; i<n; i++) for(int j=0; j<m; j++) scanf("%d",&a[i][j]); road=0; memset(vis,0,sizeof(vis)); dfs(0,0); printf("%d\n",road); } return 0;}//学习dps的测试程序/*#include<bits/stdc++.h>using namespace std;int visit[10][10],a[10][10];int n,m,k;int test=0;void dfs(int x,int y){ for(int i=0; i<n; i++) { for(int j=0; j<m; j++) printf("%d",visit[i][j]); printf("\n"); } printf("%3d%3d\n",x,y); if(x<0||x>n-1||y<0||y>m-1||visit[x][y]||a[x][y]) { if(visit[x][y]) printf("%d%drep\n",x,y); else if(a[x][y]) printf("%d%dobs\n",x,y); else printf("%d%dedge\n",x,y); return; } else if(x==n-1&&y==m-1) { printf("%d%danswer\n",x,y); k++; return; } else { printf("%d%dgogogo\n",x,y); visit[x][y]=1; dfs(x-1,y); dfs(x,y+1); dfs(x+1,y); dfs(x,y-1); visit[x][y]=0; }}int main(){ int t; { k=0; scanf("%d%d",&n,&m); for(int i=0; i<n; i++) for(int j=0; j<m; j++) scanf("%d",&a[i][j]); memset(visit,0,sizeof(visit)); dfs(0,0); //printf("%d\n",k); }}*/
0 0
- SDUT2449走迷宫
- SDUT2449走迷宫
- SDUT2449-->走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- 走迷宫
- HTML 学习笔记(二)
- Annotation注解解析
- POJ 3494 Largest Submatrix of All 1's(最大全1子矩阵面积、单调栈)
- 敏捷 学习 - 破袭的故事 - 故事架构
- C++之STL(5)之 set 与 multiset
- SDUT2449走迷宫
- DFS-Sticks(扑克24点)
- 工作两年的总结(2016-07-25)
- 存储过程的创建
- SDUT1334简单字符串排序
- JavaWeb基础知识:JavaScript快速入门
- 【C语言】字符的旋转
- Codeforces 612C: Replace To Make Regular Bracket Sequence(栈)
- 斐波那契数的两种求法(效率对比)