在Steenrod代数的Milnor基中乘以单项式时,该算法的一部分涉及枚举某些“可允许矩阵”。
给定两个非负整数r 1,...,r m和 s 1,...,s n的列表,一个非负整数X的矩阵
如果是允许的
任务
编写一个程序,该程序采用一对列表r 1,...,r m和s 1,s 1,...,s n并计算这些列表的允许矩阵数。如果需要,您的程序可以选择将m和n作为附加参数。
这些数字可以按喜欢的任何格式输入,例如分组到列表中或以一元编码或其他形式输入。
输出应为正整数
- 有标准漏洞。
计分
这就是代码高尔夫:以字节为单位的最短解决方案获胜。
例子:
对于[2]
和[1]
,有两个允许的矩阵:
对于[4]
,[1,1]
存在三个允许的矩阵:
对于[2,4]
,[1,1]
有五个允许的矩阵:
测试用例:
Input: [1], [2]
Output: 1
Input: [2], [1]
Output: 2
Input: [4], [1,1]
Output: 3
Input: [2,4], [1,1]
Output: 5
Input: [3,5,7], [1,2]
Output: 14
Input: [7, 10], [1, 1, 1]
Output: 15
Input: [3, 6, 16, 33], [0, 1, 1, 1, 1]
Output: 38
Input: [7, 8], [3, 3, 1]
Output: 44
Input: [2, 6, 15, 18], [1, 1, 1, 1, 1]
Output: 90
Input: [2, 6, 7, 16], [1, 3, 2]
Output: 128
Input: [2, 7, 16], [3, 3, 1, 1]
Output: 175
1
如果丢失矩阵的第一行和第一列,从1开始的索引并使用<=而不是==,则IMO的定义将更容易理解。
—
彼得·泰勒
好吧,会的。我只是从数学教科书中复制了定义,并且对这些条目有实际的用途。
—
胡德