https://www.acmicpc.net/problem/12919
12919번: A와 B 2수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈www.acmicpc.net
생각보다 어려운 문제였다.
생각해야될 점은, 1번조건과 2번조건 중 어느조건을 선택해야하는지 모른다는 것이다.
예제인
ABABA를 볼때,
BABA의 첫번째문자는 B이므로 2번 조건이 될 수 도 있고, 마지막에 A이므로 1번 조건이 될 수 도 있다.
따라서 두가지 경우를 모두 탐색해야 한다.
재귀식을 통해 1번조건과 2번조건을 각각 수행한 경우를 만들어주면된다.
코드
s=input()t=input()def dfs(a:str,b:str): if len(a)==len(b): if a==b:
print(1) exit() else: return
if b[-1]=='A': dfs(a,b[:-1]) if b[0]=='B':
dfs(a,b[::-1][:-1])dfs(s,t)print(0)