TopCoder

dnda
Explosion!

User's AC Ratio

100.0% (1/1)

Submission's AC Ratio

50.0% (1/2)

Tags

Description

由於 AI 世代來臨使得資訊領域工作機會減少,DnDA (n 為小寫)在大學畢業後決定轉戰餐飲業,開設自己的壽司店。

DnDA 的壽司店販賣三種不同的握壽司:鮭魚(Dsalmon,以大寫字母 D 表示)、鮪魚(ntuna,以小寫字母 n 表示)、和鮮蝦(Ashrimp,以大寫字母 A 表示)。每天早晨開店前,DnDA 要決定今天販售的壽司套餐,他會選擇 $n$ 個壽司,並把它們從左至右排成一列。這天的壽司套餐可以用一個長度為 $n$、由字母 Dn、和 A 組成的字串 $S$ 表示,其中 $S_i$ 代表由左數來第 $i$ 個壽司的種類。

DnDA 的小孩喜歡玩食物:特別地,他如果看到四個連續的壽司由左至右是鮭魚、鮪魚、鮭魚、和鮮蝦壽司(可以表示為 DnDA),他就會想要把這四個壽司的順序反轉,變成鮮蝦、鮭魚、鮪魚、和鮭魚壽司。因此,在 DnDA 排好今天的壽司套餐後,DnDA 的小孩會一直做這樣的操作,直到他太累想睡覺為止。DnDA 的小孩捉摸不定,所以他可能會做零次、一次、兩次、或是任意次數這樣子的操作,而且就算目前的壽司排列還有著四個連續的鮭魚、鮪魚、鮭魚、和鮮蝦壽司,DnDA 的小孩也不一定會把他們反轉。DnDA 很好奇,在他的小孩玩完食物後,有幾種可能的壽司排列方法?對於兩種壽司排列方法,如果存在 $i$ 使得由左數來第 $i$ 個壽司的種類不同,他們就會被視為不一樣的。因為答案可能太大,請輸出答案除以 $998244353$ 的餘數。

Input Format

輸入有兩行,第一行包含一個正整數 $n$,代表壽司的數量。

第二行包含一個長度為 $n$ 的字串 $S$,代表 DnDA 一開始決定的壽司排法。

  • $1 \leq n \leq 10000$
  • $|S| = n$
  • $S_i \in \lbrace \texttt{D}, \texttt{n}, \texttt{A} \rbrace$

Output Format

輸出一個非負整數,表示可能的壽司排列方法數 $(\bmod 998244353)$。

Sample Input 1

9
DnDAnDnDA

Sample Output 1

4

Sample Input 2

3
DnD

Sample Output 2

1

Hints

範測 1 解釋:

可能的最終壽司排列有 $4$ 種,分別為 DnDAnDnDAADnDnDnDADnDAnADnDADnDnADnD

Problem Source

2026 YTP 國中組決賽 p13

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測試資料 0
2 2~6 $n \leq 15$,保證字串中不包含字母 A 1
3 0~19 $n \leq 15$ 4
4 0~31 無額外限制 20

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 1048576 65536 1 3 4
1 1000 1048576 65536 1 3 4
2 1000 1048576 65536 2 3 4
3 1000 1048576 65536 2 3 4
4 1000 1048576 65536 2 3 4
5 1000 1048576 65536 2 3 4
6 1000 1048576 65536 2 3 4
7 1000 1048576 65536 3 4
8 1000 1048576 65536 3 4
9 1000 1048576 65536 3 4
10 1000 1048576 65536 3 4
11 1000 1048576 65536 3 4
12 1000 1048576 65536 3 4
13 1000 1048576 65536 3 4
14 1000 1048576 65536 3 4
15 1000 1048576 65536 3 4
16 1000 1048576 65536 3 4
17 1000 1048576 65536 3 4
18 1000 1048576 65536 3 4
19 1000 1048576 65536 3 4
20 1000 1048576 65536 4
21 1000 1048576 65536 4
22 1000 1048576 65536 4
23 1000 1048576 65536 4
24 1000 1048576 65536 4
25 1000 1048576 65536 4
26 1000 1048576 65536 4
27 1000 1048576 65536 4
28 1000 1048576 65536 4
29 1000 1048576 65536 4
30 1000 1048576 65536 4
31 1000 1048576 65536 4