| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 3 초 (추가 시간 없음) | 1024 MB (추가 메모리 없음) | 151 | 45 | 44 | 40.367% |
밍구는 차세대 채팅 앱 ChatChatA을 개발했다!
ChatChatA를 배포하고 나니, 치명적인 버그 리포트가 밍구에게 날아왔다! 메시지를 입력하는 과정에서, 메시지의 마지막 글자가 특정 글자일 때, 특정 글자를 입력하면 메시지가 “두 배” 된다는 것이다!
정확히 풀어 설명하면 “두 배” 된다는 것은 다음과 같다.
ChatChatA의 사용자인 구밍이는 문자열 T를 입력하기 위한 최소의 입력 수가 궁금해졌다.
현재 메시지 M은 빈 문자열로 시작하고, 매 입력은 다음 두 행동 중 하나이다.
현재 메시지 M이 T가 되기 위한 최소의 입력 수를 구밍이 대신 구해주자!
첫 줄에 D의 크기 N이 주어진다. (1 ≤ N ≤ 676 = 262)
둘째 줄에 길이 N의 영어 소문자 문자열 S, 셋째 줄에 길이 N의 영어 소문자 문자열 C가 주어진다.
S의 i번째 글자를 Si, C의 i번째 글자를 Ci라고 하면, D = {(Si, Ci) : 1 ≤ i ≤ N}이다.
|D| = N이다. 즉, 같은 (Si, Ci) 쌍은 주어지지 않는다.
넷째 줄에 입력할 영어 소문자로 이루어진 문자열 T가 주어진다. (1 ≤ |T| ≤ 500 000)
첫 줄에 현재 메시지를 T로 만드는 데 필요한 최소의 입력 수를 출력한다.
만약 현재 메시지를 T로 만들지 못한다면 −1을 출력한다.
1 t a chatchata
5
2 ct ha chatchata
-1
2 af bd aafaaafaafaaafd
8