이것은 고유 한 세트를 만드는 Count 배열에 대한 후속 조치 입니다. 중요한 차이점은 고유성의 정의입니다.
Alength 배열 을 고려하십시오 n. 배열은 양의 정수만 포함합니다. 예를 들면 A = (1,1,2,2). f(A)비어 있지 않은 연속 된 모든 하위 배열의 합 집합을 정의합시다 A. 이 경우 f(A) = {1,2,3,4,5,6}. 생산 단계 f(A) 는 다음과 같습니다.
의 하위 배열은 A입니다 (1), (1), (2), (2), (1,1), (1,2), (2,2), (1,1,2), (1,2,2), (1,1,2,2). 각각의 합계는 1,1,2,2,2,3,4,4,5,6입니다. 따라서이 목록에서 얻는 세트는 {1,2,3,4,5,6}입니다.
같은 길이의 다른 배열이없는 경우 배열을 뒤집는 것을 제외하고 는 A 고유 한 배열을 호출합니다 . 예를 들어, 동일한 합계 세트를 생성하는 다른 길이 배열은 없습니다 .Bf(A) = f(B)Af((1,2,3)) = f((3,2,1)) = {1,2,3,5,6}3
직무
작업은 주어진 위해 n그리고 s그 길이의 독특한 배열의 수를 계산하는 것입니다. 과 s사이에 있다고 가정 할 수 있습니다 . 요소가 지정된 정수 또는 배열 인 배열 만 계산하면 됩니다. 예를 들어 계산하려는 배열에 and 만 포함되어 있으면 . 그러나 고유성의 정의는 동일한 길이의 다른 배열과 관련이 있습니다. 구체적인 예로서 이다 되지 는 같은 금액의 동일한 세트를 제공 같은 고유 .19ss+1s=112[1, 2, 2, 2][1, 1, 2, 3]
배열이 물론 회문이 아닌 한 배열 자체와 배열의 반대 방향을 세어야합니다.
예
s = 1n = 2,3,4,5,6,7,8,9에 대한 답변은 다음과 같습니다.
4, 3, 3, 4, 4, 5, 5, 6
의 경우 s = 1길이가 4 인 고유 한 배열은
(1, 1, 1, 1)
(2, 1, 1, 2)
(2, 2, 2, 2)
s = 2n = 2,3,4,5,6,7,8,9에 대한 답변은 다음과 같습니다.
4, 8, 16, 32, 46, 69, 121, 177
고유하지 않은 배열의 예 s = 2는 다음 과 같습니다.
(3, 2, 2, 3, 3, 3).
이것은 모두 같은 금액의 동일한 세트를 가지고 (3, 2, 2, 2, 4, 3)와 (3, 2, 2, 4, 2, 3).
s = 8n = 2,3,4,5,6,7,8,9에 대한 답변은 다음과 같습니다.
4, 8, 16, 32, 64, 120, 244, 472
점수
주어진 n코드의 경우 sfrom에서 모든 값에 대한 답변을 출력해야 1합니다 9. n1 분 안에 완료되는 최고 점수입니다 .
테스팅
우분투 컴퓨터에서 코드를 실행해야하므로 코드를 컴파일하고 실행하는 방법에 대해 가능한 한 자세한 지침을 포함하십시오.
리더 보드
- Haskell의 Christian Sievers의 n = 13 (42 초)
s? 그것은 무엇을 상징합니까?