내 Precalc 교사는 그가 만들어 (또는 가능성이 그의 마음에 드는 문제 중 하나가 스톨 에 의해 영감을 XKCD 의 행 포함) n소변기를. "체크 메이트"는 모든 소변기가 이미 채워져 있거나 그 옆에 소변이 채워져있는 상황입니다. 예를 들어, 사람이 X인 경우
X-X--X
장군으로 간주됩니다. 이미 채워진 소변기 옆에있는 소변기를 점유 할 수는 없습니다.
태스크
프로그램은 stdin, 명령 줄 인수 또는 함수 인수를 통해 숫자를 가져 옵니다. 그러면 프로그램은 입력 된 소변기 수와 함께 checkmate가 발생할 수있는 방법을 인쇄하거나 반환합니다.
예
0 -> 1(널 케이스 장군으로 간주)
1 -> 1( X)
2 -> 2( X-또는 -X)
3 -> 2( X-X나 -X-)
4 -> 3( X-X-, -X-X, 또는 X--X)
5 -> 4( X-X-X, X--X-, -X-X-, 또는 -X--X)
6 -> 5( X-X-X-, X--X-X, X-X--X, -X--X-또는 -X-X-X)
7 -> 7( X-X-X-X, X--X-X-, -X-X--X, -X--X-X, X-X--X-, X--X--X또는 -X-X-X-)
8 -> 9( -X--X--X, -X--X-X-, -X-X--X-, -X-X-X-X, X--X--X-, X--X-X-X, X-X--X-X, X-X-X--X, X-X-X-X-)
...
채점
바이트 단위의 가장 작은 프로그램이 이깁니다.
''있습니다. 이것은 계승 및 순열과 동일합니다. 0! = 1, 0 항목을 정렬하는 정확히 1 가지 방법이 있기 때문입니다.