아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

서로 다른 부분 문자열의 개수 2

시간 제한5초메모리 제한256 MB

요약
길이가 최대 1,000,000인 소문자 문자열에 서로 다른 연속 부분 문자열이 몇 개인지 셉니다.
난이도

보통10점 중 7점

유형
문자열 매칭, 정렬, 트라이
정답자
아직 제출이 없습니다

문제

문자열 SS가 주어지면 SS의 서로 다른 부분 문자열이 몇 개인지 세는 프로그램을 작성하시오.

부분 문자열은 SS에서 연속한 구간을 잘라낸 문자열이고, 길이가 1 이상이어야 한다.

예를 들어 SS가 ababc이면 부분 문자열은 a, b, a, b, c, ab, ba, ab, bc, aba, bab, abc, abab, babc, ababc이고, 이 가운데 서로 다른 것은 12개다.

입력

첫째 줄에 문자열 SS가 주어진다. SS는 알파벳 소문자로만 이루어져 있고, 길이는 1 이상 1,000,000 이하이다.

출력

첫째 줄에 SS의 서로 다른 부분 문자열의 개수를 출력한다.

예제3

  1. 예제 1

    입력
    ababc
    
    예상 출력
    12
    
  2. 예제 2

    입력
    a
    
    예상 출력
    1
    
  3. 예제 3

    입력
    banana
    
    예상 출력
    15