QOJ.ac

QOJ

시간 제한: 2.0 s 메모리 제한: 1024 MB 총점: 100 해킹 가능 ✓

#15102. 平定混乱,恢复秩序!

통계

两位程序员 Vasya 和 Petya 正在合作一个非常重要的项目。他们还有一些任务需要完成,而截止日期正在临近!幸运的是,所有事情都已经讨论好了,任务已经分配给了 Vasya 和 Petya,并且每个任务所需的时间也已经计算出来。现在唯一剩下的事情就是决定他们完成这些任务的顺序。他们不喜欢同时做多个任务,因此决定各自为自己的任务安排一个顺序,然后按照该顺序逐个完成。

不幸的是,有一个小问题。有些任务是“开发任务”(developer tasks),有些是“测试任务”(tester tasks)。这意味着在某些任务中,他们需要为项目添加一些功能,而在另一些任务中,他们需要测试他们开发的应用程序。当然,每个开发任务(即使是分配给另一个人的)都必须在任何测试任务完成之前严格完成。请注意,一个人可以在开发任务全部完成之前开始进行测试任务:测试人员可以使用现有功能开始测试过程(但在所有计划的功能完成之前,无法完全完成对应用程序的测试)。

你是这个项目的项目经理,你的目标是监督他们,确保他们不浪费任何时间。这意味着,在其中一人完成某个任务后,他必须立即开始做分配给他的另一个任务(当然,除非他已经完成了他的所有任务)。此外,他们必须立即且同时开始工作。每位程序员可以自由选择分配给他的任务的任何顺序,但必须满足关于开发任务和测试任务的条件。

你想知道程序员安排自己任务的正确方式总共有多少种。由于这个数量可能非常大,请将其对 $998\,244\,353$ 取模后输出。两种方式被认为是不同的,当且仅当存在分配给同一个人的两个任务,在第一种顺序中第一个任务在第二个任务之前完成,而在第二种顺序中第二个任务在第一个任务之前完成。

输入格式

第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 10^5$),分别表示 Vasya 和 Petya 需要解决的任务数量。

接下来的 $n$ 行包含 Vasya 的任务描述。每行包含一个整数 $t_i$ ($1 \le t_i \le 10^9$) 和一个字母 $c_i$ ($c_i \in \{\text{T}, \text{D}\}$)。其中整数表示完成该任务所需的时间,如果该任务是开发任务,则字母为 D;如果该任务是测试任务,则字母为 T

最后的 $m$ 行以相同的格式包含 Petya 的任务描述。

输出格式

输出一个整数,表示正确安排方式的数量对 $998\,244\,353$ 取模后的结果。

样例

输入样例 1

2 2
8 T
100 T
3 D
5 D

输出样例 1

2

输入样例 2

2 1
10 D
3 T
1 D

输出样例 2

1

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.