Logo
(追記) (追記ここまで)

16907번 - 서로 다른 부분 문자열 쿼리 2

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB3611468538.991%

문제

비어있는 문자열 S가 있다. 이때, 아래와 같이 쿼리를 수행하는 프로그램을 작성하시오.

  • c: S의 가장 뒤에 문자 c를 추가한다. 이때, c는 알파벳 소문자이다.
  • ?: S의 서로 다른 부분 문자열의 개수를 출력한다.

입력

첫째 줄에 문자열 Q가 주어진다. 문자열 Q는 쿼리를 의미하며, 쿼리를 한 줄로 합친 문자열이다. 문자열은 알파벳 소문자 또는 ?로만 이루어져 있고, 길이는 200,000을 넘지 않는다. Q에 포함되어 있는 ?의 개수는 하나 이상이다.

출력

?가 주어질 때마다, S의 서로 다른 부분 문자열의 개수를 출력한다.

제한

예제 입력 1

aba?

예제 출력 1

5

예제 입력 2

?z?z?z?

예제 출력 2

0
1
2
3

예제 입력 3

abc?abc?

예제 출력 3

6
15

힌트

출처

  • 문제를 번역한 사람: baekjoon
  • 문제의 오타를 찾은 사람: jh05013
  • 잘못된 조건을 찾은 사람: dotorya
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /