列表

详情


NC222473. [USACODec2020G]BovineGenetics

描述

After sequencing the genomes of his cows, Farmer John has moved onto genomic editing! As we know, a genome can be represented by a string consisting of As, Cs, Gs, and Ts. The maximum length of a genome under consideration by Farmer John is 105.
Farmer John starts with a single genome and edits it by performing the following steps:

  1. Split the genome between every two consecutive equal characters.
  2. Reverse each of the resulting substrings.
  3. Concatenate the reversed substrings together in the same order.
For example, if FJ started with the genome AGGCTTT then he would perform the following steps:

  1. Split between the consecutive Gs and Ts to get AG | GCT | T | T.
  2. Reverse each substring to get GA | TCG | T | T.
  3. Concatenate the substrings together to get GATCGTT.
Unfortunately, after editing the genome, Farmer John's computer crashed and he lost the sequence of the genome he originally started with. Furthermore, some parts of the edited genome have been damaged, meaning that they have been replaced by question marks.

Given the sequence of the edited genome, help FJ determine the number of possibilities for the original genome, modulo 109+7.

输入描述

A non-empty string where each character is one of A, G, C, T, or ?.

输出描述

The number of possible original genomes modulo 109+7.

示例1

输入:

?

输出:

4

说明:

The question mark can be any of A, G, C, or T.

示例2

输入:

GAT?GTT

输出:

3

说明:

There are two possible original genomes aside from AGGCTTT, which was described above.

AGGATTT -> AG | GAT | T | T -> GA | TAG | T | T -> GATAGTT  TAGGTTT -> TAG | GT | T | T -> GAT | TG | T | T -> GATTGTT

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

上一题