hdoj1175 路径查找
来源:互联网 发布:qq输入法 linux 编辑:程序博客网 时间:2024/06/07 01:22
题目大意 判断两点间是否存在转折点不超过2的路径
思路 路径查找可用dfs。。。。在dfs函数中另加两个参数 dir len来判断是否转折和转折点是否超过2
#include<iostream>using namespace std;int A[1010][1010],a,b,c,d,dx[]={1,-1,0,0},dy[]={0,0,1,-1},n,m;bool ans;void dfs(int x,int y,int dir,int len){int ux,uy,i;if(len>2) return; else{if(x==c&&y==d) ans=true;else{ for(i=0;i<=3;i++){ux=x+dx[i];uy=y+dy[i];if(A[ux][uy]==0&&ux>0&&uy>0&&ux<=n&&uy<=m){A[ux][uy]=-1;if(i!=dir) dfs(ux,uy,i,len+1);else dfs(ux,uy,i,len);A[ux][uy]=0;}}}}}int main(){int i,j,N;while(cin>>n&&cin>>m&&n&&m){for(i=1;i<=n;i++){for(j=1;j<=m;j++){cin>>A[i][j];}}cin>>N;for(i=1;i<=N;i++){cin>>a>>b>>c>>d;if(A[a][b]!=A[c][d]||A[a][b]==0) cout<<"NO"<<endl;else{ans=false;A[c][d]=0;dfs(a,b,-1,-1);if(ans) cout<<"YES"<<endl;else cout<<"NO"<<endl;A[c][d]=A[a][b];}}}return 0;}
阅读全文
0 0
- hdoj1175 路径查找
- hdoj1175
- HDOJ1175(BFS)
- HDOJ1175连连看搜索
- HDOJ1175优化之后
- HDOJ1175连连看
- HDOJ1175 连连看
- HDOJ1175 连连看(bfs)
- HDOJ1175 连连看(dfs)
- HDOJ1175连连看 DFS
- HDOJ1175 连连看
- hdoj1175 连连看
- HDOJ1175连连看
- GNU GCC查找路径
- 查找php.ini路径
- VC查找路径配置
- 路径名查找
- 查找路径乱码代码
- TeraTerm Language 帮助文档2-[数据类型]
- Day26 --网络编程
- 【R语言】数据操作
- Hadoop分布式文件系统(HDFS)
- python中import的坑--同一模块中的同一对象,实例不同
- hdoj1175 路径查找
- linux 下的 6 种运行级别
- Android Webview Js交互遇到的坑!!!
- 顺序队列.c
- 搭建Eclipse下的C++编译环境
- 记录诡异的nginx请求500错误
- dubbo+maven 项目打包*(服务者)
- 数字图像处理-基本知识点(一)
- Mngodb数据库的简单使用