【题目描述】
一张有向无环图被分成了m层,第一层只有一个源点,最后一层只有一个汇点,剩下的每一层都有k个节点。
我们将第i层的第k个结点称作(i,k)。
现在你可以取反第i(1<i<m−1)层和第i+1层之间的所有连边。
也就是把原本从(i,k1)连到(i+1,k2)的边,全部变成从(i,k2)连到(i+1,k1)。
你可以任意选择一些相邻层之间的边取反,也可以都不取反。
请问他有多少种取反的方案,把从源点到汇点的路径数变成偶数条?
答案对998244353取模。
【输入】
第一行两个整数m,k。
接下来m−1行, 第一行和最后一行有k个整数0或1,剩下每行有k2个整数0或1,第 (j−1)×k+t个整数表示(i,j)到(i+1,t)有没有边。
【输出】
一行一个整数表示答案。
【输入样例】
文本
5 3
1 0 1
0 1 0 1 1 0 0 0 1
0 1 1 1 0 0 0 1 1
0 1 1
【输出样例】
【提示】
【数据规模及约定】
对于20%的数据,m≤10,k≤2。
对于40%的数据,m≤103,k≤2。
对于60%的数据,m≤103,k≤5。
对于100%的数据,4≤m≤104,k≤10。