AT_abc307_h [ABC307Ex] Marquee
题目描述
有一个长度为 $L$ 的字符串 $S$,由英文字母大写和小写字母组成,显示在宽度为 $W$ 的电子显示屏上。$S$ 会以每次向左滚动一个字符宽度的方式在显示屏上切换显示。
当 $S$ 的最后一个字符从左端消失的同时,$S$ 的第一个字符会从右端出现,整个过程以 $L+W-1$ 为周期重复。
例如,当 $W=5$,$S=$ `ABC` 时,显示屏的显示状态依次为:
- `ABC..`
- `BC...`
- `C....`
- `....A`
- `...AB`
- `..ABC`
- `.ABC.`
共 $7$ 种状态不断循环显示。(其中 `.` 表示该位置没有字符显示)
更严格地说,对于每个 $k=0,\ldots,L+W-2$,定义如下不同的显示状态:
- 用 $f(x)$ 表示 $x$ 除以 $L+W-1$ 的余数。对于显示屏从左到右的第 $(i+1)$ 个位置,如果 $f(i+k)
输入格式
输入为一行,格式如下:
> $L$ $W$ $S$ $P$
输出格式
输出一个整数,表示满足条件的状态数量。
说明/提示
## 限制
- $1 \leq L \leq W \leq 3\times 10^5$
- $L,W$ 为整数
- $S$ 为仅由英文字母大写和小写组成的长度为 $L$ 的字符串
- $P$ 为仅由英文字母大写、小写、`.`、`_` 组成的长度为 $W$ 的字符串
## 样例解释 1
当显示屏显示为 `....A`、`...AB`、`..ABC` 时,共有 $3$ 种状态符合条件。
由 ChatGPT 4.1 翻译