#CF1704E. 计算秒数

计算秒数

计算秒数

  • 时间限制:1 秒
  • 内存限制:256 MiB

题目描述

琪露诺有一个包含 nn 个点和 mm 条边的有向无环图(DAG)。该图恰好有一个没有出边的节点。第 ii 个节点上有一个整数 aia_i。

每一秒会发生如下操作:

  • 设 SS 为所有满足 ax>0a_x > 0 的节点 xx 的集合。
  • 对于所有 x∈Sx \in S,将 axa_x 减去 11,然后对于每一个存在从 xx 到 yy 的边的节点 yy,将 aya_y 加上 11。

请你求出所有 aia_i 都变为 00 的最早时刻。由于答案可能非常大,请输出答案对 998 244 353998\,244\,353 取模后的结果。

输入格式

第一行包含一个整数 tt(1≤t≤10001 \leq t \leq 1000),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 n,mn, m(1≤n,m≤10001 \leq n, m \leq 1000),表示图中点和边的数量。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(0≤ai≤1090 \leq a_i \leq 10^9),表示每个节点上的整数。

接下来的 mm 行,每行包含两个整数 x,yx, y(1≤x,y≤n1 \leq x, y \leq n),表示一条从 xx 到 yy 的有向边。保证图是一个无环图,没有重边,且恰好有一个节点没有出边。

保证所有测试用例中 nn 的和与 mm 的和都不超过 10 00010\,000。

输出格式

对于每个测试用例,输出一个整数,表示所有 aia_i 都变为 00 的最早时刻,对 998 244 353998\,244\,353 取模。

样例输入 1

5
3 2
1 1 1
1 2
2 3
5 5
1 0 0 0 0
1 2
2 3
3 4
4 5
1 5
10 11
998244353 0 0 0 998244353 0 0 0 0 0
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
1 3
7 9
5 6
1293 1145 9961 9961 1919
1 2
2 3
3 4
5 4
1 4
2 4
6 9
10 10 10 10 10 10
1 2
1 3
2 3
4 3
6 3
3 5
6 5
6 1
6 2

样例输出 1

3
5
4
28010
110

提示

在第一个测试用例中:

  • 时刻 00,节点的值为 [1,1,1][1, 1, 1]。
  • 时刻 11,节点的值为 [0,1,1][0, 1, 1]。
  • 时刻 22,节点的值为 [0,0,1][0, 0, 1]。
  • 时刻 33,节点的值为 [0,0,0][0, 0, 0]。

所以答案是 33。

在第二个测试用例中:

  • 时刻 00,节点的值为 [1,0,0,0,0][1, 0, 0, 0, 0]。
  • 时刻 11,节点的值为 [0,1,0,0,1][0, 1, 0, 0, 1]。
  • 时刻 22,节点的值为 [0,0,1,0,0][0, 0, 1, 0, 0]。
  • 时刻 33,节点的值为 [0,0,0,1,0][0, 0, 0, 1, 0]。
  • 时刻 44,节点的值为 [0,0,0,0,1][0, 0, 0, 0, 1]。
  • 时刻 55,节点的值为 [0,0,0,0,0][0, 0, 0, 0, 0]。

所以答案是 55。

在第三个测试用例中:

所有 aia_i 都变为 00 的最早时刻是 6⋅998244353+46\cdot 998244353 + 4。

数据范围

子任务编号 分值 特殊限制
1 20 n≤10n\le 10,m≤20m\le 20,ai≤4a_i\le 4
2 40 每个点的出度不超过 11
3 无特殊限制