#include <iostream>
#include <vector>
#include <string>
using namespace std;
int m,n;
vector<vector<char> > a(50,vector<char>(50));
string s;
void check(){
vector<vector<int> > d={{0,1},{1,0},{0,-1},{-1,0},{1,1},{-1,-1},{-1,1},{1,-1}};
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
for(int k=0;k<8;k++){
int x=i,y=j,idx=0;
while(idx<s.size()&&x>-1&&x<m&&y>-1&&y<n&&s[idx]==a[x][y]){
idx++;
x+=d[k][0],y+=d[k][1];
}
if(idx==s.size()){
cout<<i+1<<' '<<j+1<<endl;
return;
}
}
}
}
}
int main(){
int t;
cin>>t;
while(t--){
cin>>m>>n;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
cin>>a[i][j];
if(a[i][j]>='a'&&a[i][j]<='z')
a[i][j]-=32;
}
}
int k;
for(cin>>k;k;k--){
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]>='a'&&s[i]<='z')
s[i]-=32;
}
check();
}
if(t)
cout<<endl;
}
}
#include <vector>
#include <string>
using namespace std;
int m,n;
vector<vector<char> > a(50,vector<char>(50));
string s;
void check(){
vector<vector<int> > d={{0,1},{1,0},{0,-1},{-1,0},{1,1},{-1,-1},{-1,1},{1,-1}};
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
for(int k=0;k<8;k++){
int x=i,y=j,idx=0;
while(idx<s.size()&&x>-1&&x<m&&y>-1&&y<n&&s[idx]==a[x][y]){
idx++;
x+=d[k][0],y+=d[k][1];
}
if(idx==s.size()){
cout<<i+1<<' '<<j+1<<endl;
return;
}
}
}
}
}
int main(){
int t;
cin>>t;
while(t--){
cin>>m>>n;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
cin>>a[i][j];
if(a[i][j]>='a'&&a[i][j]<='z')
a[i][j]-=32;
}
}
int k;
for(cin>>k;k;k--){
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]>='a'&&s[i]<='z')
s[i]-=32;
}
check();
}
if(t)
cout<<endl;
}
}
Comments
Post a Comment