LCS 9
시간 제한2초메모리 제한1024 MB
두 문자열 A와 B가 주어질 때, A의 모든 접두사와 B의 모든 부분 문자열을 짝지어 각 쌍의 LCS 길이를 모두 더한 값을 구합니다.
문제
최장 공통 부분 수열(LCS) 문제는 주어진 두 수열의 공통 부분 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK이다. 문자열의 접두사는 문자열의 뒤에서 0개 이상의 문자를 제거해서 만들 수 있는 비어 있지 않은 문자열이다. 길이가 인 문자열은 개의 접두사를 가진다. 문자열의 부분문자열은 문자열의 앞과 뒤에서 0개 이상의 문자를 제거해서 만들 수 있는 비어 있지 않은 문자열이다. 길이가 인 문자열은 개의 부분문자열을 가진다. 두 문자열이 주어지면, 첫 번째 문자열의 접두사와 두 번째 문자열의 부분문자열로 이루어진 모든 쌍에 대해 LCS의 길이를 구하고, 그 길이들의 합을 출력한다.
입력
첫째 줄과 둘째 줄에 각각 문자열이 주어진다. 문자열은 알파벳 대문자로만 이루어져 있으며, 최대 7000글자이다.
출력
첫째 줄에 문제의 정답을 출력한다.