Universal Cup Judging System

Universal Cup

Time Limit: 2.0 s Memory Limit: 2048 MB Total points: 100 Difficulty: [show] Hackable ✓
Statistics

На дворе 2075 год. Разбирая свои архивы, вы вновь обнаружили коллекцию значков с региональных соревнований ICPC 2025 года, которые изначально распространялись организацией Universal Cup.

problem_16329_808c14d5e51463e599bd384590b71b5a.png

Полный набор значков UCup.

Однако в этой задаче мы рассматриваем подмножество только из трёх цветов.

Ваши значки бывают только трёх различных цветов: ультрамаринового (u), малинового (c) и барвинкового (p). Полный сувенирный набор определяется как четыре значка, идущих в точном порядке: ультрамариновый, затем малиновый, затем ультрамариновый, а затем барвинковый (ucup).

Ваша коллекция состоит из $4n$ значков, выложенных в ряд. Вы отчётливо помните, что в 2025 году это расположение представляло собой идеальную партию:

  • Последовательность можно было разбить на $n$ непересекающихся подпоследовательностей (то есть использовав каждый значок ровно в одной подпоследовательности) так, что каждая подпоследовательность образовывала полный сувенирный набор (ucup).

Однако за последние 50 лет некоторые значки выцвели, из-за чего их цвета стало невозможно различить. Такие позиции обозначаются символом ?.

По заданному текущему состоянию последовательности значков $S$ вычислите количество способов восстановить выцветшие цвета (?), заменив каждый на один из символов u, c или p так, чтобы получившаяся последовательность являлась идеальной партией. Поскольку ответ может быть большим, выведите его по модулю $998\,244\,353$.

Обратите внимание, что подпоследовательность получается из строки путём удаления нуля или более символов без изменения порядка оставшихся символов. Например, ucp, c и ucup являются подпоследовательностями строки ucup, тогда как uucp не является подпоследовательностью строки ucup.

Входные данные

Первая строка содержит целое число $n$ ($1 \le n \le 50$).

Вторая строка содержит строку $S$ длины $4n$, состоящую из символов u, c, p и ?.

Выходные данные

Выведите количество способов заменить каждый символ ? в $S$ на один из символов u, c или p так, чтобы полученная строка представляла идеальную партию, по модулю $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

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#2665EditorialOpen$O(n^{7/2}\sqrt{\log(n+1)})$ by GPT6 Prosjw712View

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.