#include <iostream>
#include <string.h>
#include <cstdio>
#include <ctype.h>
using namespace std;
char s[60][60];
int i,j,m,n,p,q,r,l,t,k,d;
int x[]={-1,-1,-1,0,0,1,1,1},y[]={-1,0,1,-1,1,-1,0,1};
void _search(char *word)
{
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
for(d=0;d<8;d++)//控制方向
{
for(p=i,q=j,r=0;p>=0&&p<m&&q>=0&&q<n&&r<l;p+=x[d],q+=y[d],r++)
if(s[p][q]!=word[r])
break;
if(r==l)//匹配成功
{
cout<<i+1<<' '<<j+1<<endl;
return;
}
}
}
}
}
int main()
{
//freopen("Input.txt","r",stdin);
//freopen("Output.txt","w",stdout);
cin>>t;
while(t--)
{
cin>>m>>n;
memset(s,0,sizeof(s));
for(i=0;i<m;i++)//输入字符表并转换
for(j=0;j<n;j++)
{
cin>>s[i][j];
s[i][j]=tolower(s[i][j]);
}
cin>>k;
char word[100];
while(k--)
{
memset(word,0,sizeof(word));
cin>>word;
l=strlen(word);
for(i=0;i<l;i++)
word[i]=tolower(word[i]);
_search(word);
}
if(t)
cout<<endl;
}
return 0;
}
UVA - 10010 Where's Waldorf?
最新推荐文章于 2021-07-27 23:49:32 发布