Pro.ID2070 TitleAL075 重复拉丁矩阵问题 Title链接http://10.20.2.8/oj/exercise/problem?problem_id=2070 AC0 Submit1 Ratio0.00% 时间&空间限制描述现有k 种不同价值的宝石,每种宝石都有足够多颗。欲将这些宝石排列成一个m 行n列的矩阵,m ≤ n,使矩阵中每一行和每一列的同一种宝石数都不超过规定的数量。另外还规定,宝石阵列的第一行从左到右和第一列从上到下的宝石按宝石的价值最小字典序从小到大排列。对于给定的k,m和n以及每种宝石的规定数量,计算出有多少种不同的宝石排列方案。 输入输入第一行有3个正整数m,n 和k,0 < m ≤ n < 9。第二行有k个数,第j个数表示第j种宝石在矩阵的每行和每列出现的最多次数。这k个数按照宝石的价值从小到大排列。设这k个数为 1 ≤ v1 ≤ v2 ≤ ... ≤ vk ,则 v1 + v2 + vk = n 输出Description 现有k 种不同价值的宝石,每种宝石都有足够多颗。欲将这些宝石排列成一个m 行n列的矩阵,m ≤ n,使矩阵中每一行和每一列的同一种宝石数都不超过规定的数量。另外还规定,宝石阵列的第一行从左到右和第一列从上到下的宝石按宝石的价值最小字典序从小到大排列。对于给定的k,m和n以及每种宝石的规定数量,计算出有多少种不同的宝石排列方案。 Input 输入第一行有3个正整数m,n 和k,0 < m ≤ n < 9。第二行有k个数,第j个数表示第j种宝石在矩阵的每行和每列出现的最多次数。这k个数按照宝石的价值从小到大排列。设这k个数为 1 ≤ v1 ≤ v2 ≤ ... ≤ vk ,则 v1 + v2 + vk = n Output 输出宝石排列方案数 Sample Input 4 7 3 Sample Output 84309 Author 样例输入4 7 3 样例输出84309 提示作者 |