#ATarc104b. [ARC104B] DNA Sequence
[ARC104B] DNA Sequence
题目描述
有一个由 A、T、C、G 组成的长度为 的字符串 。
长度相等的字符串 、 被称为“互补的”,当 时,对于任意 , 和 的第 个字符的组合要么是(A 和 T),要么是(C 和 G)的组合(例如,A 和 T 的组合时,无论哪个字符属于 都可以)。
请计算 的所有连续且非空的子串 中,满足以下条件的子串个数:
- 存在一个将 的字符重新排列后的字符串,使其与 互补。
注意,即使字符串内容相同,只要在 中的位置不同,也视为不同的子串。
输入格式
输入以如下格式从标准输入读入:
输出格式
输出 的所有连续且非空的子串 中,满足条件的子串个数。
样例 1
输入
4 AGCT
输出
2
样例 2
输入
4 ATAT
输出
4
样例 3
输入
10 AAATACCGCG
输出
6
说明/提示
限制条件
- 仅由
A、T、C、G组成
样例解释 1
有如下 个子串满足条件:
GC(第 个字符到第 个字符),将其重新排列为CG后是互补的。AGCT(第 个字符到第 个字符),将其重新排列为TCGA后是互补的。
样例解释 2
有如下 个子串满足条件:
AT(第 个字符到第 个字符),将其重新排列为TA后是互补的。TA(第 个字符到第 个字符),将其重新排列为AT后是互补的。AT(第 个字符到第 个字符),将其重新排列为TA后是互补的。ATAT(第 个字符到第 个字符),将其重新排列为TATA后是互补的。
由 ChatGPT 4.1 翻译