#5962. 消失之物

消失之物

题目描述

ftiasch 有 nn 个物品,体积分别是 w1,w2,,wnw_1, w_2, \dots, w_n。由于她的疏忽,第 ii 个物品丢失了。
"要使用剩下的 n1n-1 个物品装满容积为 xx 的背包,有几种方法呢?"——这是经典的问题了。
她把答案记为 cnt(i,x)\operatorname{cnt}(i, x),想要得到所有 i[1,n]i \in [1, n]x[1,m]x \in [1, m]cnt(i,x)\operatorname{cnt}(i, x) 表格。

输入格式

第一行两个整数 n,mn, m,表示物品的数量和最大的容积。
第二行 nn 个整数 w1,w2,,wnw_1, w_2, \dots, w_n,表示每个物品的体积。

输出格式

输出一个 n×mn \times m 的矩阵,第 ii 行包含 mm 个数字,依次表示 $\operatorname{cnt}(i, 1), \operatorname{cnt}(i, 2), \dots, \operatorname{cnt}(i, m)$ 的末位数字(即对 1010 取模的结果),数字之间不留空格

样例

3 2
1 1 2
11
11
21

样例解释

  • 如果物品 33 丢失,剩下物品 1122(体积均为 11)。
    要装满容积 11 的背包,可以选择物品 11 或物品 22,共 22 种方法,末位为 22
    要装满容积 22 的背包,必须同时选物品 1122,共 11 种方法,末位为 11
    因此第三行输出 21
  • 如果物品 11 丢失,剩下物品 22(体积 11)和物品 33(体积 22):
    装满容积 11 只有选物品 2211 种方法;装满容积 22 可以选择物品 33,共 11 种方法,末位均为 11,输出 11
  • 物品 22 丢失的情况与物品 11 丢失对称,也输出 11

数据范围

  • 1n,m20001 \le n, m \le 2000,且 1wi20001 \le w_i \le 2000
  • 注意:即使多个物品体积相同,它们也视为不同的物品,选择不同的物品算作不同的方案。
  • 本题答案可能很大,你只需要输出方案数对 1010 取模的末位数字。