#include<stdio.h>
#define MAX 10
char map[MAX][MAX];
int dir[4][2]={(-1,0),(1,0),(0,1),(0,-1)};
int cnt=6;
void dfs(int p,int q,int cnt)
{
int i,j;
int escape=0;
for(i=0;i<4;i++){
if(map[p+dir[i][0]][q+dir[i][1]]!='0')
map[p+dir[i][0]][q+dir[i][1]]='0';
cnt--;
if(map[p+dir[i][0]][q+dir[i][1]]=='4')
cnt=6;
dfs(p+dir[i][0],q+dir[i][1],cnt);
}
return ;
}
int main()
{
int i,j,num,n,m;
int p,q;
scanf("%d",&num);
while(num--){
scanf("%d %d",&n,&m);
getchar();
for(i=0;i<n;i++)
for(j=0;j<m;j++){
scanf("%c",&map[i][j]);
if(map[i][j]=='2')
p=i;q=j;
}
dfs(p,q,cnt);
if(cnt>0)
printf("yes\n");
}
return 0;
}
int dir[4][2]={{-1,0},{1,0},{0,1},{0,-1}};
СÀ¨ºÅ¶¼»»³É´óÀ¨ºÅ
if(map[i][j]=='2')
p=i;q=j;
ÕâÀïÊDz»ÊÇÒªÓиö´óÀ¨ºÅ°¡£¿
if(map[i][j]=='2')
{ p=i;q=j; }
dfsÕâ¸öµÝ¹éû̫¿´¶®, ÎÒÔõô¾õµÃËûÍ£²»ÏÂÀ´ÄØ, ûÓнáÊøÌõ¼þѽ.
´ó¼ÒºÃ£¬ÕâÊÇÒ»¸öÖ÷ÒªÃæÏòc/c++/mfcµÄȺ£¬×î½ü½øÐÐÁËÒ»´Î´óÇåÀí£¬»¶Ó¸÷λ¸ßÊÖ¼ÓÈ룬ºÃѧ°®ÎʵÄÐÂÊÖ£¬Ò²¿ÉÒÔÉêÇëµÄ£¬ÉêÇë¸ñʽ Ö°Òµ£¨c/c++/mfc ÈÎѡһ»òÕ߶ࣩ ¹¤×÷ÄêÏÞ£¨Ñ§ÉúÖ±½Óд´ó¼¸£©¾ÍÐÐÁË£¬ÈëȺµÄÒªÇó¾ÍÊÇÒª» ......
ÓÐÒ»10*10¾ØÕ󣬳ýÈ¥µÚÒ»¸öµã£¨0£¬0£©ºÍ×îºóÒ»µã£¨9£¬9£©£¬»¹Óа˸öµãΪ1£¬ÆäËû¶¼Îª0£¬ÒªÇóÓöþάÊý×é±íʾ¡£°Ë¸öµãÊÇËæ»úÉú³ÉµÄ£¬±àдÏà¹Ø³ÌÐò±íʾ¾ØÕóËùÓпÉÄÜÇé¿ö¡£
ÕæÐÄÇó½Ì¸÷λ¸ßÊÖ£¬°¥£¡±¾ÈËÌ«²ËÁË£¡ºÇºÇ£¡
......