CF356B Xenia and Hamming

题目描述

Xenia 是一名业余程序员。今天在信息技术课上,她学会了海明距离的概念。 对于长度相等的两个字符串 $s = s_{1}s_{2}\ldots s_{n}$ 和 $t = t_{1}t_{2}\ldots t_{n}$,它们的海明距离是下式的值: $$ \sum_{i=1}^{n} [s_{i} \neq t_{i}] $$ 其中,$[s_{i} \neq t_{i}]$ 是 Iverson 记号,表示如果 $s_{i} \neq t_{i}$,则值为 $1$,否则为 $0$。 现在 Xenia 想计算两个较长字符串 $a$ 和 $b$ 的海明距离。第一个字符串 $a$ 是将字符串 $x$ 连续拼接 $n$ 次得到的,即 $$ a = \underbrace{x x x \ldots x}_{n} $$ 第二个字符串 $b$ 是将字符串 $y$ 连续拼接 $m$ 次得到的。 请帮助 Xenia,根据给定的 $n, x, m, y$ 计算所需的海明距离。

输入格式

第一行包含两个整数 $n$ 和 $m$,满足 $1 \leq n, m \leq 10^{12}$。 第二行包含一个非空字符串 $x$。 第三行包含一个非空字符串 $y$。两个字符串均仅由不超过 $10^{6}$ 个小写英文字母组成。 保证根据输入拼接得到的字符串 $a$ 和 $b$ 长度相等。

输出格式

输出一个整数,表示所求的海明距离。 请不要在 C++ 中使用 %lld 格式读写 64 位整数。推荐使用 cin、cout 或 %I64d 格式。

说明/提示

在第一个测试用例中,字符串 $a$ 和 $b$ 完全相同,均为 $100$ 个字母 $a$。由于两个字符串完全一致,海明距离为 $0$。 在第二个测试用例中,字符串 $a$ 和 $b$ 在第 $3$、$5$、$6$ 和 $7$ 个字符处不同,因此海明距离为 $4$。 在第三个测试用例中,字符串 $a$ 为 rzrrzr,字符串 $b$ 为 azazaz。除了第二个字符以外,所有字符均不同,所以海明距离为 $5$。 由 ChatGPT 5 翻译