列表

详情


NC50717. 白兔之舞

描述

有一张顶点数为的有向图。这张图的每个顶点由一个二元组(u,v)表示。这张图不是简单图,对于任意两个顶点(u_1,v_1),(u_2,v_2),如果,则从(u_1,v_1)(u_2,v_2)一共有w(v_1,v_2)条不同的边,如果则没有边。
白兔将在这张图上上演一支舞曲。白兔初始时位于该有向图的顶点(0,x)。
白兔将会跳若干步。每一步,白兔会从当前顶点沿任意一条出边跳到下一个顶点。白兔可以在任意时候停止跳舞(也可以没有跳就直接结束)。当到达第一维为L的顶点就不得不停止,因为该顶点没有出边。
假设白兔停止时,跳了m步,白兔会把这只舞曲给记录下来成为一个序列。序列的第i个元素为它第i步经过的边。
问题来了:给定正整数k和,对于每个,求有多少种舞曲(假设其长度为m)满足,且白兔最后停在了坐标第二维为y的顶点?
两支舞曲不同定义为它们的长度(m)不同或者存在某一步它们所走的边不同。
输出的结果对p取模。

输入描述

第一行六个用空格隔开的整数n,k,L,x,y,p。
接下来n行,每行有n个用空格隔开的整数,第i行的第j个数表示w(i,j)。

输出描述

依次输出k行,每行一个数表示答案对p取模的结果。

示例1

输入:

2 2 3 1 1 998244353
2 1
1 0

输出:

16
18

说明:

t=0:
    1.路径长度为0,方案数为1。
    2.路径长度为2,一共有六类路径:
        ①(0,1) \to(1,1) \to(2,1)该路径有w(1,1) \times w(1,1)=4条;
        ②(0,1) \to(1,1) \to(3,1)该路径有w(1,1) \times w(1,1)=4条;
        ③(0,1) \to(2,1) \to(3,1)该路径有w(1,1) \times w(1,1)=4条;
       ④ (0,1) \to(1,2) \to(2,1)该路径有w(1,2) \times w(2,1)=1条;
        ⑤(0,1) \to(1,2) \to(3,1)该路径有w(1,2) \times w(2,1)=1条;
        ⑥(0,1) \to(2,2) \to(3,1)该路径有w(1,2) \times w(2,1)=1条;
    答案就为1+4+4+4+1+1+1=16。
t=1:
    1.路径长度为1,一共有三类路径:
        ①(0,1) \to(1,1)该路径有w(1,1)=2条;
        ②(0,1) \to(2,1)该路径有w(1,1)=2条;
        ③(0,1) \to(3,1)该路径有w(1,1)=2条;
    2.路径长度为3,一共有三类路径:
        ①(0,1) \to(1,1) \to(2,1) \to(3,1)该路径有w(1,1) \times w(1,1) \times w(1,1)=8条;
        ②(0,1) \to(1,1) \to(2,2) \to(3,1)该路径有w(1,1) \times w(1,2) \times w(2,1)=2条;
        ③(0,1) \to(1,2) \to(2,1) \to(3,1)该路径有w(1,2) \times w(2,1) \times w(1,1)=2条;
    答案就为2+2+2+8+2+2=18。

示例2

输入:

3 4 100 1 3 998244353
1 1 1
1 1 1
1 1 1

输出:

506551216
528858062
469849094
818871911

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

上一题