水题
#include <iostream>
#include <stdio.h>
using namespace std;
char map[10][10];
int m,n,count;
int p[3][2]= {0,-1,0,1,-1,0};
string s="IEHOVA#";
bool dfs(int x,int y)
{
if(map[x][y-1]==s[count])
{
count++;
printf("left");
if(count==7)
{
printf("\n");
return true;
}
else
printf(" ");
return dfs(x,y-1);
}
else if(map[x][y+1]==s[count])
{
count++;
printf("right");
if(count==7)
{
printf("\n");
return true;
}
else
printf(" ");
return dfs(x,y+1);
}
else
{
count++;
printf("forth");
if(count==7)
{
printf("\n");
return true;
}
else
printf(" ");
return dfs(x-1,y);
}
}
int main()
{
int t;
cin>>t;
while(t--)
{
count=0;
scanf("%d %d",&m,&n);
for(int i=1; i<=m; i++)
for(int j=1; j<=n; j++)
scanf(" %c",&map[i][j]);
for(int i=1; i<=n; i++)
if(map[m][i]=='@')
dfs(m,i);
}
return 0;
}