Preparing NOJ

重复拉丁矩阵问题

1000ms 65536K

Description:

现有k 种不同价值的宝石,每种宝石都有足够多颗。欲将这些宝石排列成一个m n列的矩阵,mn,使矩阵中每一行和每一列的同一种宝石数都不超过规定的数量。另外还规定,宝石阵列的第1 行从左到右和第1 列从上到下的宝石按宝石的价值最小字典序从小到大排列。试设计一个算法,对于给定的kmn以及每种宝石的规定数量,计算出有多少种不同的宝石排列方案。

对于给定的mnk,以及每种宝石的规定数量,计算出不同的宝石排列方案数。

Input:

1 行有3 个正整数mnk0<mn<9。第2 行有k 个数,第j 个数表示第j 种宝石在矩阵的每行和每列出现的最多次数。这k 个数按照宝石的价值从小到大排列。设这k个数为1v1v2vk,则v1+v2+…+vk=n

Output:

计算出宝石排列方案数。

Sample Input:

4 7 3
2 2 3

Sample Output:

84309

Note:

undefined

本题由旧版NOJ导入,来源:算法设计与实验题解

Info

NOJ

Provider NOJ

Code NOJ1286

Tags

Submitted 0

Passed 0

AC Rate 0%

Date 04/20/2019 10:03:10

Related

Nothing Yet