题目描述
请注意本题对 n,k 的特殊限制。
n 名选手参加了 k 场 Tetris Tournament。每一场 Tetris Tournament 包含 n−1 轮,每轮会选出两个目前还未淘汰的选手 x,y 并让他们参加一场比赛,输的人淘汰。最后会有唯一胜者。你现在得知第 j 个人在第 i 场 Tetris Tournament 中被 ai,j 淘汰了。j 是第 i 场 Tetris Tournament 的胜者当且仅当 ai,j=0。
选手们喜欢比较。他们都希望自己在某种意义上能够胜过别人,或至少跟别人水平差不多。
定义第 i 场 Tetris Tournament 中 x 严格吊打 y 当且仅当存在 x=p1,p2,…,pm=y(m≥2,也就是说 x=y),使得对于任意 1≤j<m,ai,pj+1=pj。
定义一个有序的选手 k 元组 (i1,i2,…,ik) 是水平相似的当且仅当对于 1≤j<k,ij 在第 j 场比赛中严格吊打 ij+1 且 ik 在第 k 场比赛中严格吊打 i1。
求水平相似的 k 元组数量,对 998244353 取模。
输入格式
第一行,两个正整数 n,k。保证 3≤k≤5。
接下来 k 行,第 i 行 n 个非负整数 ai,1,…,ai,n。
输出格式
仅一行,一个非负整数,表示水平相似的 k 元组数量,对 998244353 取模。
3 3
0 1 2
3 0 2
3 1 0
2
6 5
0 1 1 2 3 4
3 3 0 6 6 1
2 4 1 0 1 1
3 0 2 6 6 2
5 3 6 1 0 4
18
提示
【样例解释 #1】
符合要求的三元组 (i1,i2,i3) 有:(1,2,3),(2,3,1)。
【数据范围】
本题使用捆绑测试。
子任务编号 |
分值 |
n≤ |
k= |
特殊性质 |
1 |
7 |
100 |
3 |
无 |
2 |
8 |
500 |
3 |
13 |
3×103 |
4 |
14 |
2.5×105 |
A |
5 |
15 |
105 |
B |
6 |
7 |
无 |
7 |
14 |
2.5×105 |
8 |
7 |
5×104 |
4 |
9 |
6 |
7.5×104 |
10 |
9 |
4×104 |
5 |
- 特殊性质 A:对于 1≤i≤n,a1,i=a2,i;
- 特殊性质 B:对于 1≤i≤k,不存在 1≤j1<j2≤n 使得 ai,j1=ai,j2。
对于所有数据:1≤n≤2.5×105,3≤k≤5,保证 a 数组符合题意,且:
- k=3 时,n≤2.5×105;
- k=4 时:n≤7.5×104;
- k=5 时:n≤4×104。