CF1056E Check Transcription
题目描述
Arkady 的一位朋友在一个巨大的射电望远镜工作。几十年前,这个望远镜向遥远的星系发送了一个信号 $s$。最近他们收到了一个回应 $t$,他们认为这可能是外星人的回复!科学家们现在想要检查信号 $t$ 是否与 $s$ 相似。
原始信号 $s$ 是由 $0$ 和 $1$ 组成的序列(众所周知,二进制代码是宇宙通用的语言)。然而,返回的信号 $t$ 看起来并不像 $s$ 那么简单,但科学家们并没有放弃!他们将 $t$ 表示为一串英文小写字母,并且认为如果你可以将 $s$ 中所有的 $0$ 替换为某个字符串 $r_0$,所有的 $1$ 替换为另一个字符串 $r_1$,从而得到 $t$,那么 $t$ 就与 $s$ 相似。字符串 $r_0$ 和 $r_1$ 必须是不同且非空的。
请帮助 Arkady 的朋友,计算有多少种可能的 $r_0$ 和 $r_1$ 的取值对(即字符串对 $(r_0, r_1)$),可以将 $s$ 变换为 $t$。
输入格式
第一行包含一个字符串 $s$($2 \le |s| \le 10^5$),由 $0$ 和 $1$ 组成,表示原始信号。
第二行包含一个字符串 $t$($1 \le |t| \le 10^6$),由小写英文字母组成,表示收到的信号。
保证字符串 $s$ 至少包含一个 $0$ 和至少一个 $1$。
输出格式
输出一个整数,表示可以将 $s$ 变换为 $t$ 的 $(r_0, r_1)$ 对的数量。
如果不存在这样的对,输出 $0$。
说明/提示
在第一个样例中,可能的 $(r_0, r_1)$ 对如下:
- "a", "aaaaa"
- "aa", "aaaa"
- "aaaa", "aa"
- "aaaaa", "a"
对 "aaa", "aaa" 不允许,因为 $r_0$ 和 $r_1$ 必须不同。
在第二个样例中,可能的对有:
- "ko", "kokotlin"
- "koko", "tlin"
由 ChatGPT 4.1 翻译