A85625.「十二省联考 2019」皮配
NOI/NOI+/CTSC
通过率:0%
时间限制:1.50s
内存限制:512MB
题目描述
本季好码农邀请到了全国各路学生精英参赛。他们来自全国 c 个城市的 n 所不同学校(城市的编号从 1 至 c,学校的编号从 1 至 n)。其中,第 i 所学校所属的城市编号为 bi,且共有 si 名选手参赛。
在「题目背景」中提到的各总人数限制之外,本季度《中国好码农》的导师选择阶段有额外规则如下:
- 来自同城市的所有选手必须加入相同的阵营。
- 来自同学校的所有选手必须选择相同的导师。
对于导师,大部分学校的学生对导师没有偏好。但是有 k 所学校,其中每所学校的学生有且仅有一位他们不喜欢的导师。同一所学校的学生不喜欢的导师相同,他们不会加入他们不喜欢的导师的战队。
面对琳琅满目的规则和选手的偏好,作为好码农忠实观众的你想计算出,在所有选手都进行了战队选择后,战队组成共有多少种可能的局面?
- 两种战队组成的局面被认为是不同的,当且仅当在存在一所学校,使得在这两种局面中这所学校的选手加入了不同导师的战队。
- 由于答案可能很大,你只需输出可能局面数对 998,244,353 取模的结果即可。
输入格式
从标准输入读入数据。
单个测试点中包含多组数据,输入的第一行包含一个非负整数 T 表示数据组数。接下来依次描述每组数据,对于每组数据:
- 第 1 行 2 个正整数 n,c,分别表示学校数目、城市数目。
- 第 2 行 4 个正整数 C0,C1,D0,D1,分别表示题目中所描述的四个限制。
- 接下来 n 行每行 2 个正整数:
- 这部分中第 i 行的两个数依次为 bi,si,分别表示第 i 所学校的所属城市以及选手数目。
- 保证 bi≤c,si≤min{M,10}。其中 M=max{C0,C1,D0,D1}。
- 接下来 1 行一个非负整数 k,表示选手有偏好的学校数目。
- 接下来 k 行,每行 2 个整数 i,p,描述编号为 i 的学校选手有偏好:
- 其中,p 为一个 0 至 3 之间的整数,描述该校选手不喜欢的导师:0 代表 Yazid,1 代表小 R,2 代表 Zayid,3 代表大 R。
- 保证 1≤i≤n,且各行的 i 互不相同。
对于输入的每一行,如果其包含多个数,则用单个空格将它们隔开。
输出格式
输出到标准输出。
依次输出每组数据的答案,对于每组数据:
- 一行一个整数,表示可能局面数对 998,244,353 取模的结果。
输入输出样例
输入#1
2 2 1 3 2 2 2 1 1 1 2 1 1 0 4 2 10 30 20 30 1 6 2 4 1 7 2 4 2 2 3 3 1
输出#1
1 22
说明/提示
| 测试点 | n | c | k | M |
|---|---|---|---|---|
| 1 | =1 | =n | ≤1 | =1 |
| 2 | =10 | =n | ≤10 | ≤100 |
| 3 | =20 | =n | =0 | ≤100 |
| 4 | =30 | =n | =0 | ≤100 |
| 5 | =30 | =n | ≤30 | ≤500 |
| 6 | =500 | =n | =0 | ≤1000 |
| 7 | =500 | =30 | =30 | ≤1000 |
| 8 | =500 | =n | =30 | ≤1000 |
| 9 | =1000 | =n | =0 | ≤2500 |
| 10 | =1000 | =n | =30 | ≤2500 |
其中,M=max{C0,C1,D0,D1}。
对于所有测试点,保证 T≤5。
对于所有测试点中的每一组数据,保证 c≤n≤1000,k≤30,M≤2500,1≤si≤min{M,10}。
另外,请你注意,数据并不保证所有的 c 个城市都有参赛学校。
提示
十二省联考命题组温馨提醒您:
数据千万条,清空第一条。
多测不清空,爆零两行泪。