빈출 부분 문자열
시간 제한0.5초메모리 제한1024 MB
K개의 DNA 문자열이 주어질 때, i가 2부터 K까지인 각 경우에 대해 i개 이상의 문자열에 공통으로 나타나는 가장 긴 부분 문자열의 길이를 구합니다.
문제
우주생물학자가 행성 Alphabet의 생명체를 연구한다. 이 행성의 생명체는 DNA를 기반으로 하며, 뉴클레오타이드는 26종이다. 따라서 Alphabet 생명체의 DNA는 영문 소문자로 이루어진 문자열로 표현된다. 연구자는 K개 생명체의 DNA를 해독했다. 각 DNA 문자열은 서로 같을 수도 있으며, 전체 길이의 합은 N 뉴클레오타이드이다. 그녀는 이 생명체들 사이에서 자주 나타나는 DNA 가닥(부분 문자열)을 찾고자 한다. 에 대해 는 최소 개의 생명체에 공통으로 나타나는 연속된 뉴클레오타이드 가닥 중 가장 긴 것의 길이이다. 는 0일 수 있다.
배열 을 계산하라.
입력
첫 줄에 생명체의 수를 나타내는 정수 가 주어진다. 이어지는 줄에는 각각 빈 문자열이 아닌 영문 소문자 문자열이 주어진다.
출력
의 값을 한 줄에 하나씩 줄에 출력한다.
제한
힌트
"atter"는 두 문자열에 나타난다.
"mat"는 세 문자열에 나타난다.
"ma"(또는 "at", "te")는 네 문자열에 나타난다.
"ma"는 다섯 문자열에 나타난다.
"a"는 모든 문자열에 나타난다.