CF122B Lucky Substring
题目描述
Petya 喜欢幸运数字。众所周知,幸运数字是指其十进制表示中只包含幸运数字 $4$ 和 $7$ 的正整数。例如,$47$、$744$、$4$ 是幸运数字,而 $5$、$17$、$467$ 不是。
有一天,Petya 收到一个只包含数字的字符串 $s$。他需要找到一个字符串,满足以下条件:
- 表示一个没有前导零的幸运数字;
- 非空;
- 作为子串在 $s$ 中出现的次数最多。
在所有满足上述三个条件的字符串中,Petya 只需要字典序最小的那个。请帮 Petya 找出这个字符串。
输入格式
一行,包含一个非空字符串 $s$,长度范围为 $1$ 到 $50$,仅包含数字。字符串可能包含前导零。
输出格式
输出一行,表示 Petya 问题的答案。如果不存在这样的字符串,输出 $-1$。
说明/提示
字符串的字典序比较可通过现代编程语言中的 < 运算符实现。字符串 $x$ 的字典序小于字符串 $y$,当且仅当 $x$ 是 $y$ 的前缀,或存在某个 $i$($1 \leq i \leq \min(|x|,|y|)$),使得 $x_i < y_i$,且对于任意 $j$($1 \leq j < i$),都有 $x_j = y_j$。其中 $|a|$ 表示字符串 $a$ 的长度。
在第一个样例中,字符串 "4"、"7" 和 "47" 都满足条件,字典序最小的是 "4"。
在第二个样例中,$s$ 没有任何子串是幸运数字。
在第三个样例中,只有字符串 "7" 满足条件。
由 ChatGPT 4.1 翻译