题意
输入第一行为两个整数n, m, c,即行数、列数和棋子的颜色数。第二行包含c个正整数,即每个颜色的棋子数。所有颜色的棋子总数保证不超过nm。
输出仅一行,即方案总数除以 1,000,000,009的余数。
N,M<=30 C<=10 总棋子数有大于250的情况
分析
因为每一行每一列都只能有一种棋子,我们就先考虑每行每列分别是哪种棋子,然后再乘上组合数即可。
设 f[i,j,k] 表示前i种棋子,放了j行k列的方案数。其中每一行和每一列都要有棋子。
不难得到 f[i,j,k]=∑f[i−1,j−