Steenrod 대수학은 대수 토폴로지에서 나타나는 중요한 대수학입니다. Steenrod 대수는 "Steenrod squares"라고하는 연산자에 의해 생성되며, 각 양의 정수 i에 대해 존재합니다. 제곱 작업에서 "허용 된 모노 미널"로 구성된 Steenrod 대수학의 기초가 있습니다. 이 기초를 생성하는 것이 우리의 목표입니다.
각 정수가 다음 정수의 두 배 이상인 경우 양의 정수 시퀀스를 허용 됩니다. 예를 들어 및[7,2,1]
이므로 허용 됩니다. 반면에 이므로 허용되지 않습니다 . (토폴로지에서는 시퀀스에 대해 을 쓸 것입니다 ).[3,2]
[7,2,1]
순서 의 정도 는 항목의 총계입니다. 예를 들어 정도 [7,2,1]
는 입니다. 허용 가능한 시퀀스 의 초과 는 첫 번째 요소에서 나머지 요소의 총계를 뺀 값이므로 초과하는 7-2-1 입니다.[7,2,1]
직무
양의 정수 쌍을 취하고 (d,e)
허용 가능한 모든 차수 d
및 차수의 시퀀스를 이하로 출력 하는 프로그램을 작성하십시오 e
. 출력은 세트이므로 허용 가능한 순서의 순서는 중요하지 않습니다.
예 :
Input: 3,1
Output: [[2,1]]
여기서는 총 3 개의 허용 가능한 시퀀스를 찾고 있습니다 . 두 가지 옵션 [3]
과가 [2,1]
있습니다. ( [1,1,1]
및 [1,2]
합계 3이지만 허용되지 않음). 초과 [3]
는 3이고 초과 [2,1]
는 입니다. 따라서 을 초과하는 유일한 시퀀스 는 입니다.[2,1]
Input: 6, 6
Output: [[6], [5, 1], [4, 2]] (or any reordering, e.g., [[5,1],[4,2],[6]])
초과는 항상 정도 이하이므로 초과 조건이 없습니다. 따라서, 우리는 단지 옵션이 정도 6. 모든 허용 시퀀스를 찾기 위해 노력하고 [6]
, [5, 1]
하고 [4, 2]
. (이것은 , 및 초과 합니다.)
Input: 10, 5
Output: [[7,3], [7,2,1], [6,3,1]]
학위 10의 허용 가능한 순서는 다음과 같습니다.
[[10], [9,1], [8,2], [7,3], [7,2,1], [6,3,1]]
이것들은 각각 , , , , , 초과 하므로 마지막 3 모두 작동합니다.
채점
이것은 코드 골프입니다 : 바이트 단위의 최단 솔루션이 승리합니다.
테스트 사례 :
출력의 재정렬은 똑같이 좋으므로 input (3, 3)
, outputs [[3],[2,1]]
또는 [[2,1],[3]]
똑같이 수용 가능합니다 (그러나 [[1,2],[3]]
그렇지 않습니다).
Input: 1, 1
Output: [[1]]
Input: 3, 3
Output: [[2,1], [3]]
Input: 3, 1
Output: [[2,1]]
Input: 6, 6
Output: [[6], [5, 1], [4, 2]]
Input: 6, 4
Output: [[5,1], [4,2]]
Input: 6, 1
Output: []
Input: 7, 7
Output: [[7], [6,1], [4,2,1], [5,2]]
Input: 7,1
Output: [[4,2,1]]
Input: 10, 10
Output: [[10], [9,1], [7,2,1], [6,3,1], [8,2], [7,3]]
Input: 10, 5
Output: [[7,3], [7,2,1], [6,3,1]]
Input: 26, 4
Output: [15, 7, 3, 1]
Input: 26, 6
Output: [[16, 7, 2, 1], [16, 6, 3, 1], [15, 7, 3, 1], [16, 8, 2], [16, 7, 3]]