개미는 와이어 프레임 큐브의 가장자리 (면이 아닌)를 따라 걷습니다. 접하는 각 정점에는 두 개의 새로운 모서리가 분기되는 포크가 있습니다. 개미는 돌릴 방법을 선택합니다 – left또는 right. 이 방향은 정점을 향하고 큐브 외부에있는 개미를 기준으로합니다. 당신의 목표는 개미가 취한 순서 left/ right선택에서 시작한 위치에서 끝나는지를 결정하는 것입니다.
예를 들어, 개미가 네 번 좌회전 ( left left left left)하면 시계 반대 방향으로 사각형을 가로 지르고 시작했던 곳에서 끝납니다. 그러나이 경우 left left left left right큐브의 다른 지점에서 끝납니다. 또한가되면 left right right right left시작 가장자리에서 끝나지만 반대쪽 정점을 향하게되어 동일한 위치로 계산되지 않습니다.
개미의 경로는 시작한 가장자리를 포함하여 가장자리를 반복 할 수 있지만 중요한 것은 전체 시퀀스 후 끝이 끝나는 위치입니다.
개미의 턴 순서를 취하고 개미가 시퀀스 후 시작 위치로 돌아 왔는지 여부를 출력 하는 명명 된 함수 를 작성하십시오 . 명명되지 않은 함수를 변수에 할당하면 명명 된 함수로 만들 수 있습니다.
(편집 : 언어에서 명명 된 함수를 만들 수없는 경우 대신 STDIN / 인쇄 또는 스택을 통해 입력 및 출력으로 함수를 구현할 수 있습니다. 가능하지 않은 경우 입력 및 출력이 저장되는 스 니펫으로 만드십시오. 변수.)
입력
의 순서 left/ right길이의 결정 0에 31당신의 선택의 형식으로 표시 포함. 문자 문자열 R/ L, 숫자 목록 1/ -1또는 부울 배열 일 수 있습니다. 코드에 유용한 메소드 이름이나 문자열을 갖는 것만 큼 치즈 같은 것은 없습니다.
아래 테스트 사례와 다른 경우 테스트 사례를 형식으로 게시하십시오.
산출
True/ False, 0/ 1또는 해당 언어의 유사체.
우승 기준
가장 적은 바이트가 이깁니다. 명명 된 기능을 제공해야합니다. 함수 외부에 코드를 가질 수 있지만 해당 바이트도 계산됩니다. 여러 번 호출하면 함수가 올바르게 작동해야합니다.
테스트 사례
True 사례 (한 줄에 하나씩, 두 번째는 빈 목록입니다) :
1 1 1 1
-1 -1 -1 -1
1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1
-1 1 1 -1 -1 1 1 -1
1 1 1 -1 -1 -1 -1 1
1 -1 -1 1 -1 -1
1 1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
-1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
False 사례 (한 줄에 하나씩) :
1
1 1
1 1 1
-1 1
1 -1 -1 -1 1
1 -1 -1 1 1
-1 1 -1 1
1 1 1 1 -1
-1 -1 1 -1 1 -1 -1 1
1 -1 1 1 1 1 -1 -1 -1 1 1 -1 -1 -1
다음과 같은 테스트 케이스의 L의와 R의를.
True 사례 :
RRRR
LLLL
RLRLRL
RRLLRRLL
LRRLLRRL
RRRLLLLR
RLLRLL
RRRRLLLLRLLRLL
LLLRLLRRLRLRRRRRRRRRRRRRRRRR
False 사례 :
R
RR
RRR
LR
RLLLR
RLLRR
LRLR
RRRRL
LLRLRLLR
RLRRRRLLLRRLLL
추가 신용 챌린지
같은 것이지만 정육면체 보다는 십이 면체 가 있습니다. 아이디어 는 Wumpus 사냥을 참조하십시오 .