티스토리 뷰

문제 링크

https://algospot.com/judge/problem/read/JAEHASAFE

 

algospot.com :: JAEHASAFE

Jaeha’s Safe 문제 정보 문제 문제 PDF 입력 . 출력 . 예제 입력 2 3 abbab babab ababb bbaba 2 RMDCMRCD MRCDRMDC DCMRCDRM 예제 출력 6 10 노트

algospot.com

 

현재 상태에서 타겟 상태로 가는 길이를 환형 시프트로 구현해야되는데

이를 kmp 알고리즘으로 간단히 구할 수 있습니다.

 

먼저 아래와 같은 예시에서 시계방향으로 가는 경우 타겟을 두 번 이어붙여서 kmp 알고리즘을 실행하면 이동 횟수를 구할 수 있습니다.

 

반시계방향인 경우 현재 상태를 두 번 이어붙여서 kmp 알고리즘을 실행시키면 마찬가지로 이동 횟수를 구할 수 있습니다.

 

 

구현 코드