UVA10010使用数组和一个for循环控制前进路径方向不变
2015-07-19 23:48
274 查看
注释部分为自己写的,想不到如何控制前进方向不变,只记得以前学dfs时每次方向都要改变,其实想控制方向不变加个for循环就行了
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<string> #include<cctype> #include<string> #include<map> #define LL long long using namespace std; char s[60][60]; string ss; int m,n; /*int dfs(int i,int j) { int l=ss.length(); int k; if(i>=l) { for(k=1;k<l;k++) if(ss[k]!=s[i-k][j]) break; if(k==l) return 1; } if(j>=l) { for(k=1;k<l;k++) if(ss[k]!=s[i][j-k]) break; if(k==l) return 1; } if(m-i+1>=l) { for(k=1;k<l;k++) if(ss[k]!=s[i+k][j]) break; if(k==l) return 1; } if(n-j+1>=l) { for( k=1;k<l;k++) if(ss[k]!=s[i][j+k]) break; if(k==l) return 1; } if(i>=l&&j>=l) { for( k=1;k<l;k++) if(ss[k]!=s[i-k][j-k]) break; if(k==l) return 1; } if(i>=l&&n-j+1>=l) { for( k=1;k<l;k++) if(ss[k]!=s[i-k][j+k]) break; if(k==l) return 1; } if(m-i+1>=l&&n-j+1>=l) { for( k=1;k<l;k++) if(ss[k]!=s[i+k][j+k]) break; if(k==l) return 1; } if(n-i+1>=l&&j>=l) { for( k=1;k<l;k++) if(ss[k]!=s[i+k][j-k]) break; if(k==l) return 1; } return 0; }*/ int main() { int t; cin>>t; while(t--) { cin>>m>>n; for(int i=1;i<=m;i++) for(int j=1;j<=n;j++) { cin>>s[i][j]; s[i][j]=toupper(s[i][j]); } int k; cin>>k; while(k--) { cin>>ss; for(int i=0;i<ss.length();i++) ss[i]=toupper(ss[i]); int res=0; for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { const int xd[]={-1,-1,0,1,1,1,0,-1},yd[]={0,1,1,1,0,-1,-1,-1}; if(s[i][j]==ss[0]) { //res=dfs(i,j); for(int z=0;z<8;z++) { int x=i,y=j,pos=0; while(ss[pos]&&ss[pos]==s[x][y]) { x+=xd[z]; y+=yd[z]; pos++; } if(ss[pos]==0) { res=1; cout<<i<<' '<<j<<endl; break; } } } if(res) break; } if(res) break; } } if(t) cout<<endl; } return 0; }
相关文章推荐
- 统计APK中方法数量
- 今天装gocoed 出现了%path没有设置,不能进行
- 自定义圆角透明的Dialog
- wpa_cli与wpa_supplicant的交互命令
- MapReduce源码解读系列之——作业如何提交到JobTracker
- MySQL安装后无法登录——Access denied for user 'root'
- win8.1下安装ubuntu 14.0 4LTS
- 什麼是DiSEqC
- CentOS7下安装PostgresSQL9.4.4
- Caffe + Ubuntu 15.04 + CUDA 7.0 安装以及配置
- Caffe + Ubuntu 15.04 + CUDA 7.0 安装以及配置
- 我的BIOS之行(3)-遍历pci设备(1)io访问
- DVB-S相关术语说明
- 算法导论—广度优先算法
- 2015第29周日
- hdu 5038 (2014北京网络赛G 排序水题)
- wpa_cli 连接 wifi
- 13/18V系列中频切换开关原理及应用方式
- 游戏主循环FPS
- android studio的源文件编码和字符串比较