Universal Cup Judging System

Universal Cup

时间限制: 2.0 s 内存限制: 2048 MB 总分: 100 难度: [显示] 可 Hack ✓
统计

Надворі 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.