AT_arc108_d.[ARC108D] AB

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个整数 NN 和 44 个字符 cAA,cAB,cBA,cBBc_{\texttt{AA}}, c_{\texttt{AB}}, c_{\texttt{BA}}, c_{\texttt {BB}}。这里,保证给定的 44 个字符均为 A\texttt A 或 B\texttt B。

すぬけ君有一个字符串 ss。初始时,ss 为 AB\texttt {AB}。

记 ss 的长度为 ∣s∣|s|。すぬけ君可以以任意顺序、任意次数(包括 00 次)进行以下 44 种操作:

  1. 选择 1≤i<∣s∣1 \leq i < |s|,且 sis_i 为 A\texttt A,si+1s_{i+1} 为 A\texttt A,在 ss 的第 ii 个字符和第 i+1i+1 个字符之间插入 cAAc_{\texttt {AA}}。
  2. 选择 1≤i<∣s∣1 \leq i < |s|,且 sis_i 为 A\texttt A,si+1s_{i+1} 为 B\texttt B,在 ss 的第 ii 个字符和第 i+1i+1 个字符之间插入 cABc_{\texttt {AB}}。
  3. 选择 1≤i<∣s∣1 \leq i < |s|,且 sis_i 为 B\texttt B,si+1s_{i+1} 为 A\texttt A,在 ss 的第 ii 个字符和第 i+1i+1 个字符之间插入 cBAc_{\texttt {BA}}。
  4. 选择 1≤i<∣s∣1 \leq i < |s|,且 sis_i 为 B\texttt B,si+1s_{i+1} 为 B\texttt B,在 ss 的第 ii 个字符和第 i+1i+1 个字符之间插入 cBBc_{\texttt{BB}}。

请你求出,经过若干次操作后,使得 ss 的长度变为 NN 时,可能得到的不同字符串的数量。答案对 109+710^9+7 取模。

输入格式

输入从标准输入读入,格式如下:

NN cAAc_{\texttt {AA}} cABc_{\texttt {AB}} cBAc_{\texttt {BA}} cBBc_{\texttt {BB}}

输出格式

输出使 ss 的长度变为 NN 时,可能得到的不同字符串的数量,对 109+710^9+7 取模。

输入输出样例

  • 输入#1

    4
    A
    B
    B
    A

    输出#1

    2
  • 输入#2

    1000
    B
    B
    B
    B

    输出#2

    1

说明/提示

限制条件

  • 2≤N≤10002 \leq N \leq 1000
  • cAA,cAB,cBA,cBBc_{\texttt {AA}}, c_{\texttt {AB}}, c_{\texttt {BA}}, c_{\texttt {BB}} 均为 A 或 B

样例解释 1

  • 可能得到的字符串为 ABAB\texttt {ABAB}和ABBB\texttt {ABBB},共 22 种。

样例解释 2

  • 可能得到的字符串为 11 种。

输入解题思路,AI测评打分。不知道怎么写?

首页