Language: C

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int dx[]={1,-1,0,0},dy[]={0,0,1,-1};
int hx[]={2,2,-2,-2,1,-1,1,-1},hy[]={1,-1,1,-1,2,2,-2,-2};
int n,x,y;
char type[10][10];
int px[10],py[10];
int main()
{
    freopen("data","r",stdin);
    while(~scanf("%d%d%d",&n,&x,&y))
    {
        if(!n && !x && !y) break;
        for(int i=0;i<n;i++)
            scanf("%s%d%d",type[i],&px[i],&py[i]);
        int ans=0;
        for(int i=0;i<4;i++)
        {
            int vx=x+dx[i],vy=y+dy[i];
            int tmp=0;
            if(vx>=1 && vx<=3 && vy>=4 && vy<=6)
            {
                for(int j=0;j<n;j++)
                {
                    if(type[j][0]=='G')
                    {
                        if(py[j]==vy) tmp=1;
                    }
                    else if(type[j][0]=='R')
                    {
                        if(px[j]==vx)
                        {
                            int flag=0;
                            for(int k=0;k<n;k++)
                            {
                                if(k==j) continue;
                                if(px[k]==vx)
                                {
                                    if(py[k]<vy && py[k]>py[j]) flag=1;
                                    if(py[k]>vy && py[k]<py[j]) flag=1;
                                }
                            }
                            if(!flag) tmp=1;
                        }
                        if(py[j]==vy)
                        {
                            int flag=0;
                            for(int k=0;k<n;k++)
                            {
                                if(k==j) continue;
                                if(py[k]==vy)
                                {
                                    if(px[k]<vx && px[k]>px[j]) flag=1;
                                    if(px[k]>vx && px[k]<px[j]) flag=1;
                                }
                            }
                            if(!flag) tmp=1;
                        }
                    }
                    else if(type[j][0]=='H')
                    {
                        for(int k=0;k<8;k++)
                        {
                            int ux=px[j]+hx[k],uy=py[j]+hy[k];
                            int jx=px[j]+dx[k/2],jy=py[j]+dy[k/2];
                            int flag=0;
                            for(int p=0;p<n;p++)
                            {
                                if(px[p]==jx && py[p]==jy) flag=1;
                            }
                            if(ux>=1 && ux<=10 && uy>=1 && uy<=9 && !flag)
                            {
                                if(ux==vx && uy==vy) tmp=1;
                            }
                        }
                    }
                    else
                    {
                        if(px[j]==vx)
                        {
                            int cnt=0;
                            for(int k=0;k<n;k++)
                            {
                                if(k==j) continue;
                                if(px[k]==vx)
                                {
                                    if(py[k]<vy && py[k]>py[j]) cnt++;
                                    if(py[k]>vy && py[k]<py[j]) cnt++;
                                }
                            }
                            if(cnt==1) tmp=1;
                        }
                        if(py[j]==vy)
                        {
                            int cnt=0;
                            for(int k=0;k<n;k++)
                            {
                                if(k==j) continue;
                                if(py[k]==vy)
                                {
                                    if(px[k]<vx && px[k]>px[j]) cnt++;
                                    if(px[k]>vx && px[k]<px[j]) cnt++;
                                }
                            }
                            if(cnt==1) tmp=1;
                        }
                    }
                }
            }
            if(!tmp) ans=1;
        }
        if(ans) puts("NO");
        else puts("YES");
    }
    return 0;
}

Compiler output:
main.c:1:10: fatal error: iostream: No such file or directory
    1 | #include <iostream>
      |          ^~~~~~~~~~
compilation terminated.