hdu1175(教你记录搜索时方向的变化次数)
2014-01-25 22:04
281 查看
#include<iostream> #include<algorithm> #include<string> #include<stack> #include<queue> #include<map> #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<time.h> #include<math.h> #define eps 1e-9 #define N 1005 #define P system("pause") using namespace std; int n,m,flag; int a ,vis ; int dx[]={1,-1,0,0},dy[]={0,0,1,-1}; int sx,sy,nx,ny; void dfs(int x,int y,int dir,int count) { // cout<<x<<y<<count<<endl; if(flag) return; if(count>2) return; if(x<0 || x>=n || y<0 || y>=m) return; // cout<<x<<y<<count<<endl; if(x==nx && y==ny) {flag=1;return ;} if(a[x][y]) return ; if(vis[x][y]) return ; vis[x][y]=1; if(dir == 1) { dfs(x-1,y,1,count); dfs(x+1,y,2,count+1); dfs(x,y-1,3,count+1); dfs(x,y+1,4,count+1); } else if(dir == 2) { dfs(x-1,y,1,count+1); dfs(x+1,y,2,count) ; dfs(x,y-1,3,count+1); dfs(x,y+1,4,count+1); } else if(dir == 3) { dfs(x-1,y,1,count+1); dfs(x+1,y,2,count+1); dfs(x,y-1,3,count); dfs(x,y+1,4,count+1); } else if(dir == 4) { dfs(x-1,y,1,count+1); dfs(x+1,y,2,count+1); dfs(x,y-1,3,count+1); dfs(x,y+1,4,count); } vis[x][y]=0; } int main() { //freopen("input.txt","r",stdin); //freopen("output.txt","w",stdout);cc int i,j,t; while(scanf("%d%d",&n,&m)) { if(!m&&!n) break; for(i=0;i<n;i++) for(j=0;j<m;j++) scanf("%d",&a[i][j]); scanf("%d",&t); while(t--) { scanf("%d%d%d%d",&sx,&sy,&nx,&ny); sx--;sy--; nx--; ny--; if(a[sx][sy]!=a[nx][ny] || (!a[sx][sy]&&!a[nx][ny])) { printf("NO\n"); continue; } memset(vis,0,sizeof(vis)); vis[sx][sy]=1; flag=0; dfs(sx-1,sy,1,0); dfs(sx+1,sy,2,0); dfs(sx,sy-1,3,0); dfs(sx,sy+1,4,0); if(flag) printf("YES\n"); else printf("NO\n"); } } // P; return 0; }
相关文章推荐
- 求亿级记录中搜索次数Top N的搜索词(MapReduce实现)
- 连连看(hdu1175 bfs+方向记录+贪心剪枝)
- Children of the Candy Corn(搜索方向变化问题)(bfs)(dfs)
- cookie记录用户次数
- 百度撤销企业软件事业部 称与搜索主方向背离
- 下一代搜索的演进方向
- 根据表中记录的变化情况自动维护作业
- android 实现 搜索保存历史记录功能
- 点击进入quick search box,搜索不到通话记录
- POJ - 3414 (隐式图搜索+记录路径)
- 根据表中记录的变化情况自动维护作业
- 根据表中记录的变化情况自动维护作业
- Google Chrome地址栏删除搜索记录-windows-Mac --sanai整理
- 再谈树---无根树转有根树( dfs搜索转化+fa数组记录父节点) *【模板】
- LTE系统调试记录11:测试经过射频后接收端波形时偏变化情况
- 走迷宫--图的搜索(bfs)并记录路径
- SQL查询重复出现次数最多的记录,按出现频率排序(SQL语句)
- Android 利用高德地图API进行定位、开发电子围栏、天气预报、轨迹记录、搜索周边(位置)
- 搜索引擎怎么做历史搜索词记录
- 在二维有序数组中搜索某个数(存在否、出现次数)