Tantangan
Diberikan input string, tampilkan versi yang dihancurkan.
Proses
P
r Pr r
o o o
g g g
r r r rogr r
a -> a -> a -> a -> a -> -> -> -> ->
m m m m m
m m m m m mmar m
i i i i i i i mi m
n n n n gn gn gn gn gni mgni
g g Pg Pg roPg roPg roPgmar roPgmar roPgmar roPgmar
- Tempatkan string secara vertikal.
- Pilih bilangan bulat acak antara
1
dan(height of the column of characters) - 1
dan arah acak (kiri atau kanan). - Putar jumlah karakter ke arah itu (jika ruang itu kosong, lanjutkan ke langkah 4; jika tidak, kembali ke langkah 2).
- Biarkan karakter tersebut jatuh karena gravitasi.
- Ulangi sampai ketinggian kolom karakter paling
1
besar lebih tinggi dari ketinggian kolom di sebelahnya (yaitu menjadi mustahil untuk menghancurkan lebih lanjut ("langkah 2-4") kolom). - Jika ada kolom karakter lain yang lebih dari
1
karakter lebih tinggi dari satu atau lebih kolom di sekitarnya (yaitu dapat dihancurkan), berulang kali hancurkan kolom itu hingga tidak lagi dapat dihancurkan. Jika ada beberapa kolom yang dapat dihancurkan, hancurkan kolom tertinggi secara penuh (jika ada beberapa kolom tertinggi, hancurkan sepenuhnya kolom yang paling kiri). - Ulangi sampai semua kolom tidak lagi dapat dibongkar.
Jika ada karakter spasi di input, hancurkan yang pertama, sekaligus.
C
o
d
e -> oC -> -> ...
de
G G G
o o o
l l l
f f defoC
Aturan
- Celah standar dilarang.
- Trailing dan baris baru diizinkan.
- Program Anda dapat mencetak atau mengembalikan string / setara.
- Outputnya harus non-deterministik (kecuali input tidak dapat dibongkar).
Ini adalah kode-golf , sehingga kiriman dengan jumlah byte terkecil dalam bahasa mereka menang!
4
akan membuat output deterministik, yaitu bukan "acak." Mengedit aturan untuk membuatnya eksplisit.Jawaban:
Python 2 ,
622595573552542534527520515 byteCobalah online!
sumber
h+R(X)*-~i
bisah-~i*R(X)
.L=[...];D=L
bisaD=L=[...]
.