QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 256 MB Total points: 100 Hackable ✓

#8207. Anton 的 ABCD

Statistics

众所周知,Anton Trygub 喜欢出关于包含字符 ABC 的字符串的题目。如果允许我们对字符串进行操作,他会更高兴。为了向他致敬,同时也为了进一步改进他的题目,这里有一个关于包含字符 ABCD 的字符串的问题。给定一个由字符 ABCD 组成的字符串,通过零次或多次应用以下操作,你能得到多少种不同的字符串?

  • 选取一个长度为 4 的子串,该子串必须是 ABCD 的循环移位,并将其向左或向右循环移动 1 位。(ABCD 的循环移位包括 BCDA、CDAB 和 DABC。)

由于这个数字可能非常大,请输出其对 $10^9 + 7$ 取模的结果。

输入格式

输入的第一行也是唯一一行包含字符串 $S$,$ (1 \le |S| \le 2000) $。

输出格式

输出一行一个整数,表示通过重复应用该操作可以得到的不同字符串的数量,对 $10^9 + 7$ 取模。

样例

输入格式 1

DABC

输出格式 1

4

说明

在第一个样例中,该字符串本身就是 ABCD 的一个循环移位,因此在 2 次操作内,我们可以得到该字符串的所有循环移位,共有 4 种。

输入格式 2

AABBCCDD

输出格式 2

1

说明

在第二个样例中,初始时无法进行任何移动,因此只能得到 1 种不同的字符串。

输入格式 3

ABCDABCD

输出格式 3

52

说明

在第三个样例中,通过重复应用该操作,总共可以得到 52 种不同的字符串。

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1104EditorialOpenO(n) solution for Problem #8207wtc2026-02-25 20:28:01View

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.