크랭크로 작동되는 뮤직 박스에 일련의 4 개의 음표를 연주 할 수 있습니다. 크랭크를 돌리면 크랭크의 위치와 회전 방향에 따라 네 줄 중 하나를 뽑습니다. 크랭크를 북쪽으로 돌리면 상자의 문자열 번호가 1-4입니다.
1 | 2
|
O
4 3
거기에서 크랭크를 시계 방향으로 돌려 # 2 스트링을 뽑아 크랭크를 동쪽으로 가리킬 수 있습니다.
1 2
O---
4 3
또는 크랭크를 북쪽에서 시계 반대 방향으로 돌려 # 1 현을 연주하고 크랭크가 서쪽을 가리키는 것으로 끝낼 수도 있습니다.
1 2
---O
4 3
주어진 시간에 상자는 두 가지 음 중 하나를 재생할 수 있습니다. 다음 음은 시계 방향으로 사용 가능하고 다음 음은 반 시계 방향으로 사용 가능합니다.
도전
당신의 도전은 비어 있지 않은 음 값의 문자열을 받아들이는 프로그램이나 함수를 작성하는 것입니다 (즉, 숫자 1
부터 4
~ 까지 ). 입력의 재생 가능성 또는 재생 불가능 성을 나타 내기 위해 진실되거나 거짓된 결과를 생성합니다.
몇 가지 참고 사항 :
입력은 초기 시작 위치에 대한 가정을하지 않습니다. 입력은
214
(동쪽으로 시작하고 시계 반대 방향으로 엄격하게 이동) 및234
(북쪽에서 시작하고 시계 방향으로 엄격하게 이동) 두 가지 모두 유효합니다.크랭크는 각 음마다 한 방향으로 자유롭게 움직일 수 있습니다.
33333
한 줄을 가로 질러 앞뒤로 움직여서 같은 음표가 연속적으로 가능합니다 (예 :). 이 시리즈1221441
는 완벽하게 재생할 수 있습니다 (서부에서 시작하여 시계 방향으로 2 단계 이동 한 다음 시계 반대 방향으로 3 단계 이동 한 다음 시계 방향으로 2 단계 이동).
시료
어떤 true
경우에는 :
1
1234
1221
3333
143332
22234
2234
22214
1221441
41233
어떤 false
경우에는 :
13 (note 3 is never available after note 1)
1224 (after `122`, the crank must be north, so 4 is not playable)
121 (after `12` the crank is east; 1 is not playable)
12221 (as above, after `1222` the crank is east)
43221