由於 AI 世代來臨使得資訊領域工作機會減少,DnDA (n 為小寫)在大學畢業後決定轉戰餐飲業,開設自己的壽司店。
DnDA 的壽司店販賣三種不同的握壽司:鮭魚(Dsalmon,以大寫字母 D 表示)、鮪魚(ntuna,以小寫字母 n 表示)、和鮮蝦(Ashrimp,以大寫字母 A 表示)。每天早晨開店前,DnDA 要決定今天販售的壽司套餐,他會選擇 $n$ 個壽司,並把它們從左至右排成一列。這天的壽司套餐可以用一個長度為 $n$、由字母 D、n、和 A 組成的字串 $S$ 表示,其中 $S_i$ 代表由左數來第 $i$ 個壽司的種類。
DnDA 的小孩喜歡玩食物:特別地,他如果看到四個連續的壽司由左至右是鮭魚、鮪魚、鮭魚、和鮮蝦壽司(可以表示為 DnDA),他就會想要把這四個壽司的順序反轉,變成鮮蝦、鮭魚、鮪魚、和鮭魚壽司。因此,在 DnDA 排好今天的壽司套餐後,DnDA 的小孩會一直做這樣的操作,直到他太累想睡覺為止。DnDA 的小孩捉摸不定,所以他可能會做零次、一次、兩次、或是任意次數這樣子的操作,而且就算目前的壽司排列還有著四個連續的鮭魚、鮪魚、鮭魚、和鮮蝦壽司,DnDA 的小孩也不一定會把他們反轉。DnDA 很好奇,在他的小孩玩完食物後,有幾種可能的壽司排列方法?對於兩種壽司排列方法,如果存在 $i$ 使得由左數來第 $i$ 個壽司的種類不同,他們就會被視為不一樣的。因為答案可能太大,請輸出答案除以 $998244353$ 的餘數。
輸入有兩行,第一行包含一個正整數 $n$,代表壽司的數量。
第二行包含一個長度為 $n$ 的字串 $S$,代表 DnDA 一開始決定的壽司排法。
輸出一個非負整數,表示可能的壽司排列方法數 $(\bmod 998244353)$。
9 DnDAnDnDA
4
3 DnD
1
範測 1 解釋:
可能的最終壽司排列有 $4$ 種,分別為 DnDAnDnDA、ADnDnDnDA、DnDAnADnD、ADnDnADnD。
2026 YTP 國中組決賽 p13
| 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 |