Pilih satu set empat byte tanpa penggantian (yaitu tidak ada byte yang diulang), dan tidak harus dalam urutan tertentu, dari salah satu dari empat set berikut:
- Karakter dari setiap pengodean satu byte tunggal
- Karakter Unicode dalam kisaran 00 – FF
- Bilangan bulat desimal yang ditandatangani dalam kisaran −128–127
- Bilangan bulat desimal tak bertanda di kisaran 0-255
Keempat nilai yang Anda pilih (sebutkan mana mereka) akan menjadi input yang valid. Anda harus memasangkan setiap nilai dengan salah satu karya seni ASCII di bawah ini.
Dengan (dengan cara apa pun) salah satu dari empat input Anda yang valid, tanggapi (dengan cara apa pun, bahkan daftar string) dengan seni ASCII yang sesuai. Ruang putih ekstra diperbolehkan di semua sisi, selama gambar ada di satu area 2D yang bersebelahan.
Byte pertama:
/\
/ \
| |
| |
| |
|____|
\__/
| |
| |
| |
| |
/\ | | /\
/ \| |/ \
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
| || || |
AAAAAAAAAAAA
Byte kedua:
/\
/ \
| |
| |
| |
|____|
\__/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
AAAA
Byte ketiga:
/\
/ \
| |
| |
| |
|____|
\__/
| |
| |
| |
|__|
/\
Byte keempat:
db
_/\_
\__/
| |
| |
| |
|__|
/\
Apa yang baru tentang tantangan kompleksitas seni ASCII Kolmogorov ini?
Kemampuan untuk memilih input yang valid menghadirkan aspek baru untuk tantangan. Input jelas terlalu terbatas untuk menyandikan seluruh hasil, tetapi dapat membawa informasi yang cukup untuk mendapat perhatian.
Berbagai kemungkinan keluaran memiliki banyak struktur, sehingga penggunaan kembali kode atau sub-gambar layak dilakukan di dalam setiap gambar dan di antara gambar.
Ada duplikasi yang cukup bahwa bahkan bahasa yang tidak diarahkan dengan baik terhadap tantangan seperti ini memiliki peluang yang adil untuk dapat menggunakan kode pintar daripada hanya string hard-coding secara luas.
Jawaban:
JavaScript (ES6), 247 byte
RegPack'ed. Diharapkan 0 ... 3 sebagai input.
Cobalah online!
sumber
BigFu!#?%$Rocket
? Tapi ini hanya Falcon Heavy!BFR.reduce() == FalconHeavy
: p"FRFRFRF" = "Fu!#?%$RocketFu!#?%$RocketFu!#?%$RocketFu!#"
kanan? Saya suka jawaban ini lebih dari apa pun lol.Arang , 67 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Mengambil input sebagai angka 3-0. Penjelasan:
Masukkan nomor.
Jika angka 3, gambar setengah booster, lalu mirror, lalu pindah ke ujung roket.
Jika bukan 0, gambarkan separuh kiri tangki bahan bakar depan.
Tetapi jika angka 3, gambar setengah dari ujung kerucut hidung.
Gambarlah sisi kiri roket.
Gambarlah dasar roket yang sesuai dan kemudian cermin untuk menyelesaikannya.
sumber
Charcoal
hanya untuk kontes ini?Bersih ,
292278273271262261 byte-5 byte terima kasih kepada Adám
Cobalah online!
Fungsi lambda, memetakan
Int
nilai0..3
ke gambar dalam urutan yang tercantum dalam OP.sumber
Python 2 ,
292290284282281 byteCobalah online!
Mengambil bilangan bulat 0 hingga 3 sebagai input dan menggunakan pengindeksan daftar (1 atau 0) untuk membangun setiap output.
-2 untuk pasangan kurung yang tidak dibutuhkan.
-6 dengan menghapus tugas variabel yang hanya digunakan sekali.
-2 untuk variabel penggunaan tunggal lainnya.
-1 dengan tip dari @Rod
sumber
n
,p
danq
variabel yang tidak perlu terlalu (-2 byte masing-masing)." db"
dan"_/\_"
akan bergabung"\n"
nanti, Anda dapat mengubah keduanya menjadi" db\n_/\_"
untuk menyimpan byte lain. Anda dapat (mungkin) memindahkan+y
, dari setiap elemen, keluar dari daftar (dan menghapus const juga) sesuatu seperti(...)[i>2]+["\__/"]
Ruby ,
234212205 byteCobalah online!
Membawa bilangan bulat 0-3. Buat array dari setengah bagian kiri dari setiap fase, indeks, kemudian pad dan mencerminkan setiap baris. Semua padding adalah dengan lebar yang sama, sehingga fase terakhir memiliki spasi putih terkemuka. Mengembalikan array string.
-2 bytes: Segera deklarasikan
y
sebagai array daripada membutuhkan*[y]
nanti.-5 byte: Ganti
x="\\"
dengant=%w{_| \\}
.-5 byte: Kurang dereferencing, penambahan array lebih banyak.
-1 byte:
h+y*21+[?A*2]
->h+y*21<<?A*2
dalam fase 1.-3 byte: Spesifikasi memungkinkan penghilangan
*$/
untuk bergabung dengan hasil.-4 byte:
["b","\\_","_/"]
->%w{b \\_ _/}
dalam fase 3.-2 byte: Gunakan
%w
notasi di head array juga.-7 bytes: Gunakan
rjust
sebagai ganti padding manual (ini juga berarti menghasilkan sisi kiri dan mirroring, alih-alih memulai dengan sisi kanan)Tidak Disatukan:
sumber
SOGL V0.12 , 90 byte
Coba Di Sini!
Input 0/1/2/3 sesuai dengan byte 1/2/3/4
sumber
Ruby ,
209183 byteCobalah online!
Input yang diperlukan sebagai berikut:
Idenya adalah untuk mengambil
centre core + upper stage + fairing
sebagai default dan memodifikasinya untuk output lainnya.Berkomentar
sumber
Merah , 333 byte
Cobalah online!
Mengambil 1 - 4 sebagai input
Rebol , 258 byte
Saya membuat percobaan dengan
compress
fungsi Rebol , mengompresi string semua 4 tahap dan mencetak bagian yang sesuai setelah dekompresi:sumber
Jstx , 124 byte
Penjelasan
Cobalah online!
sumber
C (dentang) ,
421408 byteCobalah online!
sumber