CF182D Common Divisors
题目描述
Vasya 最近在学校学习了什么是一个数的约数,并决定来确定一个字符串的约数。他提出了如下定义:
当且仅当存在一个正整数 $x$,使得连续写出字符串 $a$ 共 $x$ 次后,得到字符串 $b$,那么字符串 $a$ 是字符串 $b$ 的约数。例如,字符串 "abab" 有两个约数——"ab" 和 "abab"。
现在,Vasya 想编写一个程序来计算两个字符串的公共约数的数量。请你帮助他完成这个任务。
输入格式
第一行输入一个非空字符串 $s_{1}$。
第二行输入一个非空字符串 $s_{2}$。
两个字符串的长度均为正,且不超过 $10^{5}$。字符串只包含小写拉丁字母。
输出格式
输出字符串 $s_{1}$ 和 $s_{2}$ 的公共约数的数量。
说明/提示
在第一个样例中,公共约数为字符串 "abcd" 和 "abcdabcd"。
在第二个样例中,唯一的公共约数为字符串 "a"。"aa" 不包含在答案中,因为它不是字符串 "aaa" 的约数。
由 ChatGPT 5 翻译