Kesadaran Posisi
Tugas Anda adalah untuk menghasilkan program yang, untuk setiap permutasi karakternya (yang mencakup program asli), menampilkan posisi setiap karakter relatif terhadap program asli.
Jika program Anda
Derp
Anda harus mengeluarkan
[0, 1, 2, 3]
(atau yang setara). Hal ini karena D
dalam 0
posisi th, e
adalah di 1
st, r 2
nd, dan p
yang 3
rd.
Mari kita ambil program lain yang merupakan program asli, tetapi dengan karakter yang diijinkan:
epDr
Anda harus mengeluarkan
[1, 3, 0, 2]
karena e
berada di 1
posisi st dari program asli, p
ada di 3
posisi rd, ke D
- 0
th, dan ke r
- 2
n.
Jika program asli memiliki dua karakter berulang:
abcda -> [0, 1, 2, 3, 4]
Maka untuk permutasi, the 0
dan 4
di dalam array harus dalam urutan menaik:
baadc -> [1, 0, 4, 3, 2] (0 first, then 4)
Aturan:
- Program Anda harus mengandung setidaknya dua karakter unik.
Paling banyak
floor(n/2)
karakter harus sama.aabb (acceptable) aaaabc (not acceptable, only floor(6/2) = 3 a's allowed)
Output program Anda bisa berupa array (atau yang serupa) yang berisi posisi semua karakter secara berurutan, atau string dengan pembatas apa pun, jadi ini semua benar:
[0, 1, 2, 3] 0,1,2,3 0 1 2 3
sumber
12
dalam R valid? Itu hanya akan mencetak12
dan jika diijinkan;21
.Jawaban:
Sebenarnya , 2 byte
Cobalah online!
Ini mencetak
sedangkan (hanya) permutasi lainnya
cetakan
Bagaimana itu bekerja
Dalam Sebenarnya, angka berurutan diuraikan secara terpisah, jadi
10
tekan 1 pada tumpukan, lalu 0 di atasnya.Ketika program selesai, tumpukan dicetak dari atas ke bawah, sehingga ia mencetak 0 pertama, kemudian linefeed, kemudian 1 .
Program derrang
01
melakukan hal yang sama, dalam urutan yang berlawanan.sumber
Jelly , 2 byte
Cobalah online!
Output:
[0, 1]
J;
Output permutasi lainnya :[1, 0]
Bagaimana itu bekerja:
sumber