이 질문에는 목표가 상당히 다르지만 합계에 맞는 배열 찾기 와 비슷한 설정 이 있습니다.
A
length 배열 을 고려하십시오 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
고유 한 배열을 호출합니다 . 예를 들어, 동일한 합계 세트를 생성하는 다른 길이 배열은 없습니다 .B
f(A) = f(B)
A
f((1,2,3)) = f((3,2,1)) = {1,2,3,5,6}
3
우리는 요소가 주어진 정수 s
또는 배열 인 배열 만 고려할 것 s+1
입니다. 예를 s=1
들어 배열에 1
and 만 포함되는 경우 2
.
직무
작업은 주어진 위해 n
그리고 s
그 길이의 독특한 배열의 수를 계산하는 것입니다. 과 s
사이에 있다고 가정 할 수 있습니다 .1
9
배열 자체와 배열의 반대 방향을 세지 않아야합니다.
예
s = 1
대답은 항상 n+1
입니다.
s = 2
에서 계산 된 답변 n = 1
은 다음과 같습니다.
2,3,6,10,20,32,52,86
s = 8
에서 계산 된 답변 n = 1
은 다음과 같습니다.
2,3,6,10,20,36,68,130
점수
주어진 n
코드의 경우 s
from에서 모든 값에 대한 답변을 출력해야 1
합니다 9
. n
1 분 안에 완료되는 최고 점수입니다 .
테스팅
우분투 컴퓨터에서 코드를 실행해야하므로 코드를 컴파일하고 실행하는 방법에 대해 가능한 한 자세한 지침을 포함하십시오.
리더 보드
- Rust의 Anders Kaseorg의 n = 24 (34 초)
- 깨끗한 상태의 Ourous에 의한 n = 16 (36 초)
- Common Lisp 에서 JRowan의 n = 14 (49 초)