1121: Emiya 家今天的饭
Memory Limit:128 MB
Time Limit:3.000 S
Judge Style:Text Compare
Creator:
Submit:16
Solved:11
Description
Input
第 1 行两个用单个空格隔开的整数 nm。
第 2 行至第 n + 1 行,每行 m 个用单个空格隔开的整数,其中第 i + 1行的 mm 个数依次为 ai1ai2⋯aim。
Output
仅一行一个整数,表示所求方案数对 998244353998244353 取模的结果
Sample Input Copy
2 3
1 0 1
0 1 1
Sample Output Copy
3
HINT
2 3 1 0 1 0 1 1 |
3 |
3 3 1 2 3 4 5 0 6 0 0 |
190 |
5 5 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 |
742 |
【样例 1 解释】
由于在这个样例中,对于每组 i, ji,j,Emiya 都最多只会做一道菜,因此我们直接通过给出烹饪方法、主要食材的编号来描述一道菜。
符合要求的方案包括:
- 做一道用烹饪方法 1、主要食材 1 的菜和一道用烹饪方法 2、主要食材 2 的菜
- 做一道用烹饪方法 1、主要食材 1 的菜和一道用烹饪方法 2、主要食材 3 的菜
- 做一道用烹饪方法 1、主要食材 3 的菜和一道用烹饪方法 2、主要食材 2 的菜
因此输出结果为 3 \mod 998,244,353 = 33mod998,244,353=3。 需要注意的是,所有只包含一道菜的方案都是不符合要求的,因为唯一的主要食材在超过一半的菜中出现,这不满足 Yazid 的要求。
【样例 2 解释】
Emiya 必须至少做 2 道菜。
做 2 道菜的符合要求的方案数为 100。
做 3 道菜的符合要求的方案数为 90。
因此符合要求的方案数为 100 + 90 = 190。
【数据范围】
测试点编号 | n=n= | m=m= | a_{i,j}<ai,j< | 测试点编号 | n=n= | m=m= | a_{i,j}<ai,j< |
---|---|---|---|---|---|---|---|
11 | 22 | 22 | 22 | 77 | 1010 | 22 | 10^3103 |
22 | 22 | 33 | 22 | 88 | 1010 | 33 | 10^3103 |
33 | 55 | 22 | 22 | 9\sim 129∼12 | 4040 | 22 | 10^3103 |
44 | 55 | 33 | 22 | 13\sim 1613∼16 | 4040 | 33 | 10^3103 |
55 | 1010 | 22 | 22 | 17\sim 2117∼21 | 4040 | 500500 | 10^3103 |
66 | 1010 | 33 | 22 | 22\sim 2522∼25 | 100100 | 2\times 10^32×103 | 998244353998244353 |
对于所有测试点,保证 1 \leq n \leq 1001≤n≤100,1 \leq m \leq 20001≤m≤2000,0 \leq a_{i,j} \lt 998,244,3530≤ai,j<998,244,353。