소개
나는 초기 도전 에서 개미 순열의 클래스를 정의했다 . 알림, 순열로서 P 로부터 숫자 0 으로 R-1 마다 엔트리를위한 경우 불안해이며, P [i]를 제 제외한 일부 이전 엔트리가 P [IK] 되도록 P [I] == p는 [ ik] ± 1 입니다. 재미있는 사실로, 나는 또한 r ≥ 1 인 경우 길이 r 의 정확히 2 개의 r-1 개미 순열이 있다고 언급했습니다 . 이것은 길이 r 의 개미 순열 과 길이 r-1 의 이진 벡터 사이에 일대일 대응이 있음을 의미합니다.. 이 도전에서, 당신의 임무는 그러한 서신을 구현하는 것입니다.
작업
당신의 임무는 길이 1 ≤ n ≤ 99 의 이진 벡터를 취하고 길이 n + 1 의 개미 순열을 출력하는 프로그램 또는 함수를 작성하는 것 입니다. 순열은 0을 기준으로 1을 기준으로 할 수 있지만 (일관되어야 함) 입력 및 출력은 적절한 형식으로 될 수 있습니다. 또한 입력이 다르면 항상 출력이 달라야합니다. 그 외에는 원하는 개미 순열을 자유롭게 반환 할 수 있습니다.
가장 낮은 바이트 수가 이깁니다.
예
길이 4의 (0 기반) 개미 순열은 다음과 같습니다.
0 1 2 3
1 0 2 3
1 2 0 3
1 2 3 0
2 1 0 3
2 1 3 0
2 3 1 0
3 2 1 0
프로그램은 길이가 3 인 8 비트 벡터 각각에 대해 이들 중 하나를 반환해야합니다.
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 1
및 0 0 1
상이한 길이의 출력을 제공한다.