페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#4606
서브태스크

줄임말 1초 64MB

문제

문자열 A가 문자열 B의 줄임말이라는 것은 B의 순서를 바꾸지 않고 0 또는 그 이상 개수의 문자를 지워 A를 만들 수 있다는 뜻이다. 

정의에 의해서 B는 자기 자신의 줄임말임에 유의하라. 예를 들어, ac, ab, aa, aabc는 aabc의 줄임말이고, d, aaa, ba는 aabc의 줄임말이 아니다.

 

영문 알파벳 소문자로만 이루어진 두 문자열 S와 T가 주어진다.

 T를 자연수 n번 반복해서 이어쓴 문자열을 Tn이라고 하자. S가 Tn의 줄임말이 되는 최소의 n을 구하라.

 

예를 들어, T = ac, S = caa라고 하면, T1 = T = ac, T2 = acac, T3 = acacac이고 n = 3일 때 처음으로 S가 Tn의 줄임말이 된다.

 

[제약 조건]

  • S와 T는 영문 알파벳 소문자(‘a’ - ‘z’)만으로 이루어진 문자열이다.

  • S의 길이는 1 이상 1,000,000 이하이다.

  • T의 길이는 1 이상 100,000,이하이다.


입력

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

둘째 줄에 문자열 T가 주어진다.​ 


출력

S가 Tn의 줄임말이 되는 최소의 n을 출력한다. 

단, 어떤 n에 대해서도 Tn 이 S의 줄임말이 되지 못할 때에는, -1을 출력한다.​ 


부분문제

번호 점수 조건
#18점

S와 T는 알파벳 ‘a’만으로 이루어져 있다.

#213점

S의 길이와 T의 길이 모두 100 이하이다.

#321점

S의 길이는 10,000 이하, T의 길이는 100 이하이다.

#434점

T의 길이는 1,000 이하이다.

#524점

추가 제약 조건이 없다.​


예제1

입력
caa

ac
출력
3

예제2

입력
cab

acca
출력
-1

출처

KOI 2차 2020 고1|koi

역링크