Giới thiệu
Tôi đã định nghĩa lớp hoán vị antsy trong một thử thách trước đó . Xin nhắc lại, một hoán vị p của các số từ 0 đến r-1 là antsy, nếu với mỗi mục p [i] ngoại trừ mục đầu tiên, có một số mục nhập p [ik] trước đó sao cho p [i] == p [ ik] ± 1 . Là một thực tế thú vị, tôi cũng nói rằng cho r ≥ 1 , có chính xác 2 r-1 hoán vị antsy chiều dài r . Điều này có nghĩa là có một sự tương ứng một-một giữa các hoán vị antsy có độ dài r và các vectơ nhị phân có độ dài r-1. Trong thử thách này, nhiệm vụ của bạn là thực hiện một sự tương ứng như vậy.
Nhiệm vụ
Nhiệm vụ của bạn là viết một chương trình hoặc hàm lấy một vectơ nhị phân có độ dài 1 ≤ n 99 , và đưa ra một hoán vị antsy có độ dài n + 1 . Hoán vị có thể là 0 dựa trên 1 dựa trên (nhưng điều này phải nhất quán) và đầu vào và đầu ra có thể ở bất kỳ định dạng hợp lý nào. Hơn nữa, các đầu vào khác nhau phải luôn cho đầu ra khác nhau; ngoài điều đó, bạn có thể tự do trả lại bất kỳ hoán vị antsy nào bạn muốn.
Số byte thấp nhất sẽ thắng.
Thí dụ
Các hoán vị antsy (dựa trên 0) có độ dài 4 là
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
và chương trình của bạn sẽ trả về một trong số chúng cho mỗi vectơ tám bit có độ dài 3:
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
và 0 0 1
nên cho đầu ra có độ dài khác nhau.