시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 16 MB42113711033.333%

문제

PLCS(Prime Longest Common Subsequence, 소수 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 길이가 소수이면서 가장 긴 것을 찾는 문제이다.

문자열 $A$, $B$와 PLCS에 포함되어야 하는 문자 $X$와 PLCS에 포함되면 안되는 문자 $Y$가 주어진다. 문자 $X$를 포함하고 문자 $Y$를 포함하지 않는 문자열 $A$, $B$의 공통 부분 수열 중 길이가 소수이면서 가장 긴 문자열의 길이를 출력하자. 이러한 문자열이 존재하지 않으면 -1을 출력한다.

문자열 $A$, $B$와 문자 $X$, $Y$는 알파벳 소문자로 구성되어 있으며, 문자열 $A$, $B$에는 문자 $X$가 정확히 하나씩 존재한다.

입력

첫째 줄에 문자열 $A$가 주어진다.

둘째 줄에 문자열 $B$가 주어진다. $(1 ≤ |A|$, $|B| ≤ 50,000)$

셋째 줄에 문자 $X$가 주어진다.

넷째 줄에 문자 $Y$가 주어진다. $(X \neq Y)$

출력

첫째 줄에 문자 $X$를 포함하고 문자 $Y$를 포함하지 않는 문자열 $A$, $B$의 PLCS의 길이를 출력한다. 이러한 PLCS가 존재하지 않으면 -1을 출력한다.

서브태스크

번호배점제한
15

1 ≤ 문자열 A의 길이, 문자열 B의 길이 ≤ 10

210

1 ≤ 문자열 A의 길이, 문자열 B의 길이 ≤ 1,000

315

1 ≤ 문자열 A의 길이, 문자열 B의 길이 ≤ 10,000

470

1 ≤ 문자열 A의 길이, 문자열 B의 길이 ≤ 50,000

예제 입력 1

aabbcbad
ababacda
c
b

예제 출력 1

3

LCS는 aaca, aacd이지만 PLCS는 aac, aca, acd이다.

예제 입력 2

aabaaa
cccbcc
b
c

예제 출력 2

-1

LCS는 b이고 PLCS는 존재하지 않는다.

예제 입력 3

aabaaa
bca
b
x

예제 출력 3

2

LCS, PLCS 모두 ba이다.

채점 및 기타 정보

  • 예제는 채점하지 않는다.