을 감안 m
하여 n
초콜릿 바, m,n
에 줄을 깰 수있는 방법의 긍정적, 출력 수를 mn
각 구분은 눈금 선에 발생하는 1 일에 의해 조각.
순서가 중요합니다. 조각도 구별 가능하므로 1 x 3 초콜릿 바의 양쪽 끝에있는 두 조각은 동일하지 않습니다.
예를 들어 2 x 2 블록의 경우 다음이 있습니다.
_ _ _ _ _ _ _ _
|_‖_| -> |‗| |_| -> |_| |‗| -> |_| |_|
|_‖_| |_| |_| _ |_| _ _
|_| |_| |_|
_ _ _ _ _ _ _ _
|_‖_| -> |_| |‗| -> |‗| |_| -> |_| |_|
|_‖_| |_| |_| |_| _ _ _
|_| |_| |_|
_ _ _ _ _ _ _ _
|‗|‗| -> |_‖_| -> |_| |_| -> |_| |_|
|_|_| _ _ _ _ _ _
|_|_| |_‖_| |_| |_|
_ _ _ _ _ _ _ _
|‗|‗| -> |_|_| -> |_‖_| -> |_| |_|
|_|_| _ _ _ _ _ _
|_‖_| |_| |_| |_| |_|
따라서 2 x 2 초콜릿 바를 분해하는 4 가지 방법이 있습니다.
규칙
입력은 함수 입력, STDIN, 명령 행 또는 이와 유사한 두 개의 정수입니다. 초콜릿 바를 분해하는 여러 가지 방법으로 단일 숫자를 출력하십시오.
숫자가 매우 빠르게 올라가므로 출력이 언어의 정수 한계를 초과하더라도 걱정하지 마십시오. 이론적으로 알고리즘이 가능한 모든 입력에 대해 작동하는 한 제출은 유효합니다.
테스트 사례
출력은의 순서에 의존하지 않으므로 m,n
테스트 사례는 다음과 같이 나열됩니다 m <= n
.
1 1 -> 1
1 2 -> 1
1 3 -> 2
1 4 -> 6
1 5 -> 24
1 10 -> 362880
2 2 -> 4
2 3 -> 56
2 4 -> 1712
2 5 -> 92800
2 10 -> 11106033743298560
3 3 -> 9408
3 4 -> 4948992
3 5 -> 6085088256
3 10 -> 76209753666310470268511846400
4 4 -> 63352393728
A261964 는 각 행이 합과 일치하도록 삼각형으로 배열 된 초콜릿 숫자 m+n
입니다.
options(expressions=...)
및 인수 사용)을 수정하면--max-ppsize=
이보다 더 긴 코드가 생성됩니다.