QOJ.ac

QOJ

Limite de temps : 2.0 s Limite de mémoire : 2048 MB Points totaux : 100 Difficulté: [afficher] Hackable ✓

#16329. Batching Badges

Statistiques

现在是 2075 年。在整理档案时,你重新发现了 2025 年 ICPC 区域赛的一套徽章,这些徽章最初是由 Universal Cup 组织分发的。

一套完整的 UCup 徽章。

然而,在本题中,我们只考虑其中三种颜色的子集。

你的徽章只有三种不同的颜色:群青色(Ultramarine,用 u 表示)、绯红色(Crimson,用 c 表示)和长春花蓝色(Periwinkle,用 p 表示)。一个完整的纪念包定义为按以下精确顺序排列的四个徽章:群青色、绯红色、群青色、长春花蓝色(即 ucup)。

你的收藏由排成一排的 $4n$ 个徽章组成。你清晰地记得在 2025 年,这个排列是一个完美批次

  • 该序列可以被划分为 $n$ 个互不相交的子序列(即每个徽章恰好属于一个子序列),使得每个子序列都构成一个完整的纪念包(ucup)。

然而,在过去的 50 年里,一些徽章已经褪色,导致它们的颜色无法辨认。这些位置用 ? 表示。

给定徽章序列的当前状态 $S$,计算将褪色位置(?)还原为 ucp 之一,使得最终得到的序列是一个完美批次的方案数。由于答案可能很大,请将其对 $998\,244\,353$ 取模后输出。

注意,子序列可以通过在不改变剩余字符顺序的情况下,从字符串中删除零个或多个字符来获得。例如,ucpcucup 都是字符串 ucup 的子序列,而 uucp 不是字符串 ucup 的子序列。

输入格式

第一行包含一个整数 $n$($1 \le n \le 50$)。

第二行包含一个长度为 $4n$ 的字符串 $S$,由字符 ucp? 组成。

输出格式

输出将 $S$ 中的每个 ? 替换为 ucp 之一,使得得到的字符串表示一个完美批次的方案数,结果对 $998\,244\,353$ 取模。

样例

输入样例 1

1
????

输出样例 1

1

输入样例 2

1
ucup

输出样例 2

1

输入样例 3

1
uucp

输出样例 3

0

输入样例 4

1
uu?u

输出样例 4

0

输入样例 5

2
????????

输出样例 5

11

输入样例 6

4
u???c???u???p???

输出样例 6

437

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.