Submission

Status:

----------

Subtask/Task Score:

0/100

Score: 0

User: tull

Problemset: Croissant Beyond Peaks

Language: python

Time: 0.072 second

Submitted On: 2026-07-30 21:40:38

n=int()
s=['' for i in range(2)]
vst=[[0 for i in range(2)] for i in range(2)]
dir=1
st=0
def DFS(pos:int,lv:int)->None:
     global st
     if(st==1):
          return
     if(lv<0 or lv>1):
          return
     if(pos<0 or pos>=n):
          return
     if(s[lv][pos]=='#'):
          return
     if(s[lv][pos]=='T'):
          st=1
          return
     if(vst[lv][pos]==1):
          return
     vst[lv][pos]=1
     DFS(pos+dir,lv)
     DFS(pos,lv+1)
     DFS(pos,lv-1)

def tc():
     global n
     global s
     global vst
     n=int(input())
     s=['' for i in range(2)]
     vst=[[0 for i in range(n)] for i in range(2)]
     s[0]=str(input())
     s[1]=str(input())
     pos=0
     lv=0
     pe=0
     for i in range(2):
          for j in range(n):
               if(s[i][j]=='S'):
                    pos=j
                    lv=i
               if(s[i][j]=='T'):
                    pe=j
     if(pe<pos):
          dir=-1
     DFS(pos,lv)
     if(st==1):
          print('Yes')
     else:
          print("No")
q=int(input())
while q>0:
     tc()
     q-=1