Nhận thức vị trí


10

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]

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ị, 04trong 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
    

7
Tôi không tin rằng thách thức này cho phép mọi giải pháp không tầm thường vì hầu như mọi câu trả lời trong bất kỳ ngôn ngữ nào có độ dài> = ~ 5 sẽ không phải là một chương trình hợp lệ cho mọi hoán vị, chứ đừng nói đến một chương trình giải quyết thử thách trong tầm tay.
orlp

1
@ Qwerp-Derp Hầu như không ai nói gì trên hộp cát. Cách đây một thời gian, tôi đã đăng một câu hỏi sau khi ở trong hộp cát khoảng một tháng (hoặc hơn). Và chỉ khi tôi đăng nó, là khi mọi người chỉ ra những sai lầm và những cơn mưa xuống. Theo ý kiến ​​trung thực của tôi, hộp cát là vô dụng.
Ismael Miguel

1
Lần đầu tiên, tôi cảm thấy như trong thử thách này, một câu trả lời dài hơn sẽ ấn tượng hơn câu trả lời ngắn hơn.
Wojowu

1
@Wojowu Tôi có thể biến nó thành trò chơi bowling , nếu có thể - chương trình dài nhất sẽ thắng.
clismique

1
Chương trình 12trong R có hợp lệ không? Nó chỉ đơn giản là in 12và nếu được thẩm thấu; 21.
Billywob

Câu trả lời:


21

Trên thực tế , 2 byte

10

Hãy thử trực tuyến!

Bản in này

0
1

trong khi (chỉ) hoán vị khác

01

in

1
0

Làm thế nào nó hoạt động

Trong thực tế, các chữ số liên tiếp được phân tích cú pháp riêng biệt, do đó 10đẩy 1 trên ngăn xếp, sau đó 0 trên đầu trang.

Khi chương trình kết thúc, ngăn xếp được in từ trên xuống dưới, do đó, nó in 0 trước, sau đó là linefeed, sau đó 1 .

Chương trình bị chế giễu 01cũng làm như vậy, theo thứ tự ngược lại.


1
Các ngôn ngữ khác hoạt động trong; Nghiêm túc, 05ab1e, ///, 2sable.
Teal pelican

Thông số kỹ thuật cho biết các số phải được tách ra. Nó hoạt động rất nghiêm túc, nhưng thực ra chỉ là Nghiêm túc 2.0.
Dennis

7

Thạch , 2 byte

;J

Hãy thử trực tuyến!

Đầu ra: [0, 1]

J;Đầu ra hoán vị khác :[1, 0]

Làm thế nào nó hoạt động:

;J
;          Concats 0 with...
 J         [1...len(z)], here just [1]

J;
J          [1...len(z)], here just [1]
 ;         ...Concatted with 0
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.