AT_jsc2019_qual_c.Cell Inversion
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 2N 个格子从左到右排成一行,给定一个长度为 2N 的字符串 S,表示每个格子的颜色。
从左起第 i 个格子的颜色由 S 的第 i 个字符决定,如果是 B,则为黑色,如果是 W,则为白色。
你需要进行恰好 N 次操作。每次操作选择两个不同的格子,将这两个格子及它们之间所有格子的颜色全部反转(黑变白,白变黑)。
在所有操作过程中,每个格子只能被选择一次,也就是说,每个格子恰好被选中一次。
请计算,经过 N 次操作后,所有格子都变成白色的方案数。答案对 109+7 取模。如果不存在这样的方案,请输出 0。
这里,如果存在某个 i (1≤i≤N),第 i 次操作所选的两个格子的组合不同,则认为两种方案不同。
输入格式
输入从标准输入读入,格式如下:
N S
输出格式
输出经过 N 次操作后所有格子都变成白色的方案数,对 109+7 取模。如果不存在这样的方案,则输出 0。
输入输出样例
输入#1
2 BWWB
输出#1
4
输入#2
4 BWBBWWWB
输出#2
288
输入#3
5 WWWWWWWWWW
输出#3
0
说明/提示
限制条件
- 1≤N≤105
- ∣S∣=2N
- S 的每个字符都是
B或W。
样例解释 1
将所有格子变成白色的方案有如下 4 种:
- 第一次操作选择第 1 和第 3 个格子,第二次操作选择第 2 和第 4 个格子。
- 第一次操作选择第 2 和第 4 个格子,第二次操作选择第 1 和第 3 个格子。
- 第一次操作选择第 1 和第 4 个格子,第二次操作选择第 2 和第 3 个格子。
- 第一次操作选择第 2 和第 3 个格子,第二次操作选择第 1 和第 4 个格子。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?