만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

PLCS

시간 제한1초메모리 제한16 MB

요약
A와 B의 공통 부분 수열 가운데 X를 포함하고 Y를 포함하지 않으며 길이가 소수인 것의 최대 길이를 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 문자열, 정수론
정답자
아직 제출이 없습니다

문제

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

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

문자열 AA, BB와 문자 XX, YY는 알파벳 소문자로 구성되어 있다. 문자열 AA, BB에는 문자 XX가 정확히 하나씩 존재한다.

입력

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

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

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

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

출력

첫째 줄에 문자 XX를 포함하고 문자 YY를 포함하지 않는 문자열 AA, BB의 PLCS의 길이를 출력한다. 이러한 PLCS가 존재하지 않으면 -1을 출력한다.

예제3

  1. 예제 1

    입력
    aabbcbad
    ababacda
    c
    b
    
    예상 출력
    3
    
  2. 예제 2

    입력
    aabaaa
    cccbcc
    b
    c
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    aabaaa
    bca
    b
    x
    
    예상 출력
    2