#include #include using namespace std ; int abs(int x) { return x>0?x:-x ; } char map[11][11] ; int dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}} ; int RGX,RGY ; int xx,yy ; int ok(int x,int y) { if(y!=RGY) return 1 ; for(int i=x+1 ;i> chr >> a >> b ; map[a][b]=chr ; if(chr=='G') { RGX=a ;RGY=b ; } } int flag ; for(int i=0 ;i<4 ;i++) { flag=0 ; xx=x+dir[i][0] ; yy=y+dir[i][1] ; if(xx<1 || xx>3){flag=1 ;continue ;} if(yy<4 || yy>6){flag=1 ;continue ;} if(!ok(xx,yy)){flag=1 ;continue ;} char t=map[xx][yy] ; map[xx][yy]='0' ; for(int j=1 ;j<=10 ;j++) { for(int k=1 ;k<=9 ;k++) { if(map[j][k]=='R') { if(cha(j,k)) flag=1 ; } if(map[j][k]=='H') { if(hor(j,k)) flag=1 ; } if(map[j][k]=='C') { if(can(j,k)) flag=1 ; } } } if(!flag) break ; map[xx][yy]=t ; } if(flag) puts("YES") ; else puts("NO") ; } return 0 ; }