#include <stdio.h>
#include <string.h>
char dict[52][52];
char word[100];
int row,col;
int dx[]={1,1,1,0,0,-1,-1,-1};
int dy[]={0,1,-1,1,-1,1,0,-1};
int walk(int dir,int x,int y,int cur,int len)
{
if(cur==len) return 1;
if(x<0 || x>=col) return 0;
if(y<0 || y>=row) return 0;
if(word[cur]==dict[y][x]){
return walk(dir,x+dx[dir],y+dy[dir],cur+1,len);
}
return 0;
}
void find()
{
int i,j,m;
int len=strlen(word);
for(i=0;i<row;i++){
for(j=0;j<col;j++){
for(m=0;m<8;m++){
if(walk(m,j,i,0,len)){
printf("%d %d\n",i+1,j+1);
return;
}
}
}
}
}
void main()
{
int c,i,j,w;
char ch;
scanf("%d",&c);
while(c--){ //此处一开始写成for(;c>0;c--)就一直WA,至今不明白为何
scanf("%d%d",&row,&col);
for(i=0;i<row;i++) {
scanf("%s",dict[i]);
for(j=0;j<col;j++){
if(dict[i][j]>='a') dict[i][j]+='A'-'a';
}
}
scanf("%d",&w);
for(i=0;i<w;i++){
scanf("%s",word);
for(j=0;j<strlen(word);j++){
if(word[j]>='a') word[j]+='A'-'a';
}
find();
}
if(c) printf("\n");
}
}
UvaOJ10010
最新推荐文章于 2018-03-12 21:29:00 发布