Score : $600$ points
Given are two strings $s$ and $t$ consisting of lowercase English letters. Determine if the number of non-negative integers $i$ satisfying the following condition is finite, and find the maximum value of such $i$ if the number is finite.
A string $a$ is a substring of another string $b$ if and only if there exists an integer $x$ $(0 \leq x \leq |b| - |a|)$ such that, for any $y$ $(1 \leq y \leq |a|)$, $a_y = b_{x+y}$ holds.
We assume that the concatenation of zero copies of any string is the empty string. From the definition above, the empty string is a substring of any string. Thus, for any two strings $s$ and $t$, $i = 0$ satisfies the condition in the problem statement.
Input is given from Standard Input in the following format:
$s$ $t$
If the number of non-negative integers $i$ satisfying the following condition is finite, print the maximum value of such $i$; if the number is infinite, print -1
.
abcabab ab
3
The concatenation of three copies of $t$, ababab
, is a substring of the concatenation of two copies of $s$, abcabababcabab
, so $i = 3$ satisfies the condition.
On the other hand, the concatenation of four copies of $t$, abababab
, is not a substring of the concatenation of any number of copies of $s$, so $i = 4$ does not satisfy the condition.
Similarly, any integer greater than $4$ does not satisfy the condition, either. Thus, the number of non-negative integers $i$ satisfying the condition is finite, and the maximum value of such $i$ is $3$.
aa aaaaaaa
-1
For any non-negative integer $i$, the concatenation of $i$ copies of $t$ is a substring of the concatenation of $4i$ copies of $s$. Thus, there are infinitely many non-negative integers $i$ that satisfy the condition.
aba baaab
0
As stated in Notes, $i = 0$ always satisfies the condition.