Nhận thức vị trí
Nhiệm vụ của bạn là tạo ra một chương trình, với mọi hoán vị của các ký tự của nó (bao gồm chương trình gốc), xuất ra các vị trí của mọi ký tự so với chương trình gốc.
Nếu chương trình của bạn là
Derp
bạn phải xuất
[0, 1, 2, 3]
(hoặc một số tương đương). Điều này là do Dđang ở trong 0vị trí thứ, eđang trong 1st, r 2nd, và pcác 3thứ.
Chúng ta hãy lấy một chương trình khác là chương trình gốc, nhưng với các ký tự của nó được cho phép:
epDr
Bạn phải xuất
[1, 3, 0, 2]
vì eđang ở trong 1vị trí st của chương trình ban đầu, pđang ở trong 3vị trí thứ, Dnhững 0thứ, và rcác 2thứ.
Nếu chương trình gốc có hai ký tự lặp lại:
abcda -> [0, 1, 2, 3, 4]
Sau đó, để hoán vị, 0và 4trong mảng phải theo thứ tự tăng dần:
baadc -> [1, 0, 4, 3, 2] (0 first, then 4)
Quy tắc:
- Chương trình của bạn phải chứa ít nhất hai ký tự duy nhất.
Hầu hết các
floor(n/2)nhân vật là giống nhau.aabb (acceptable) aaaabc (not acceptable, only floor(6/2) = 3 a's allowed)Đầu ra của chương trình của bạn có thể là một mảng (hoặc một cái gì đó tương tự) chứa tất cả các vị trí của các ký tự hoặc một chuỗi với bất kỳ dấu phân cách nào, vì vậy những thứ này hoàn toàn tốt:
[0, 1, 2, 3] 0,1,2,3 0 1 2 3
12trong R có hợp lệ không? Nó chỉ đơn giản là in 12và nếu được thẩm thấu; 21.