내 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 가지 방법이 있기 때문입니다.