SP7023 KOLACI - Cookies
题目描述
Darko 和 Marko 是一对爱吃饼干的双胞胎。他们的奶奶 Mara 特别喜欢给他们烤饼干,但又不太希望他们吃得太快。为了让孙子们放慢速度,Mara 把吃饼干变成了一个游戏。
Mara 会烤出 $N$ 块饼干,每块饼干从 1 到 $N$ 编号。然后她会把这些饼干围成一个圆圈排列,使得每个饼干 $i$ 夹在 $i-1$ 和 $i+1$ 之间,注意编号 1 和 $N$ 的饼干也是相邻的。
Mara 知道制作 26 种不同类型饼干的方法,用小写字母 'a' 到 'z' 来表示这些类型。
游戏规则是:Darko 和 Marko 每 5 分钟可以分别拿到一块饼干。当 Mara 随机说出一个整数时,兄弟俩需要找到那个编号的饼干,并吃掉它两边相邻的两块。这个过程会周而复始地进行,直到桌子上仅剩下一块或两块饼干。在这情况下,游戏结束,Mara 将吃掉剩下的饼干。
这个游戏可以用 Mara 说出的 $(N-1) \div 2$ 个整数来表示。例如,之前的示意图可以用序列 (4, 8, 6) 来表示。如果两个游戏的序列不同,则它们被认为是不同的。
然而,Mara 发现 Darko 和 Marko 常常在游戏中吵架。每当他们遇到两个类型不同的相邻饼干时,他们无法决定各自应该吃哪一块,于是吵了起来。所以 Mara 希望计算出让两个小家伙不闹矛盾的所有可能游戏方式。
给定每块饼干的类型,请编写一个程序,计算出能让 Darko 和 Marko 不吵架的游戏方式总数。因为数量可能很大,请输出结果对 10007 取余后的值。
输入格式
第一行输入一个整数 $N$($3 < N \leq 10^5$)。
第二行输入由 $N$ 个小写字母组成的字符串,表示饼干在圆圈中的排列顺序。
输出格式
输出一个整数,表示不让 Darko 和 Marko 争吵的可能游戏序列的总数 mod 10007。
**本翻译由 AI 自动生成**