Masalah
Diberikan input di a
mana a adalah nilai true / falsy menghasilkan kubus mustahil tepat di bawah ini jika benar dan kubus normal tepat di bawah ini jika falsey.
Masukan truthy
:
___________________________________
/ _______________________________ /|
/ / _____________________________/ / |
/ / /| | / / |
/ / / | | / / |
/ / /| | | / / /| |
/ / / | | | / / / | |
/ / / | | | / / /| | |
/ /_/___| | |____________________/ / / | | |
/________| | |_____________________/ / | | |
| _______| | |____________________ | | | | |
| | | | | |___________________| | |__| | |
| | | | |_____________________| | |____| |
| | | / / _____________________| | |_ / /
| | | / / / | | |/ / /
| | | / / / | | | / /
| | |/ / / | | |/ /
| | | / / | | /
| | |/_/_________________________| | /
| |______________________________| | /
|__________________________________|/
Masukan falsy
:
___________________________________
/ _______________________________ /|
/ / _____________________________/ / |
/ / /| | / / |
/ / / | | / / |
/ / /| | | / / /| |
/ / / | | | / / / | |
/ / / | | | / / /| | |
/ /_/___|_|_|____________________/ / / | | |
/__________________________________/ / | | |
| ________________________________ | | | | |
| | | | | |___________________| | |__| | |
| | | | |_____________________| | |____| |
| | | / / _____________________| | |_ / /
| | | / / / | | |/ / /
| | | / / / | | | / /
| | |/ / / | | |/ /
| | | / / | | /
| | |/_/_________________________| | /
| |______________________________| | /
|__________________________________|/
Aturan
- Trailing whitespace diizinkan.
- Membuntuti baris baru diizinkan.
- nilai truthy / falsey dapat ditukar (kebenaran untuk kubus nyata dan falsey untuk kubus tidak mungkin)
- Gaya input harus ditentukan
- Kode terpendek dalam byte menang
Jawaban:
SOGL V0.12 , 145 byte
Coba Di Sini!
Program ini menyimpan data garis sebagai 3 basa terpisah 36-46 angka dan mendekodekan masing-masing dan
ž
s nilai-nilai dalam array utama.Karena cara kasar bagaimana saya menggambar garis diagonal, output memiliki 27 garis garis dengan spasi (yang diizinkan oleh OP)
input:
0 - tidak mungkin
1 - mungkin
Penjelasan:
sumber
1
hasil dalam output yang sama dengan input kebenaran lainnya suka"test"
?test
di kotak input menyebabkan kesalahan. Jika itu masalah besar, saya hanya bisa membuatnya mengambil input string di mana "" akan menjadi palsu dan segala sesuatu yang lain benarJelly ,
187166 byteProgram lengkap.
Cobalah online!
Bagaimana?
103 byte adalah angka dasar 250 digit, yang merupakan kompresi basis-8 dari kubus yang mungkin, dengan spasi tambahan ditambahkan untuk menyamakan panjang-baris, tanpa baris baru, dan tanpa 18 karakter dari tengah setiap baris, seperti ini , tetapi tanpa baris baru:
8 basis-8 digit mewakili rangkaian karakter:
Jadi kompresi kemudian seperti di bawah ini di mana
1
s,6
s,7
s dan0
s harus diganti dengan string yang ditunjukkan di atas:Program membalikkan proses dan mengubah karakter yang perlu diubah jika kubus tidak mungkin:
sumber
JavaScript (ES6),
352344333 byteDisimpan 2 byte berkat @YairRand
Demo
Tampilkan cuplikan kode
sumber
a=
dan mengganti satu referensi dengan0
(yang selalu sama ketika direferensikan) menghemat dua byte.Arang , 188 byte
Cobalah online! Tautan adalah ke versi palsu; ubah input dari
0
menjadi1
untuk versi yang sebenarnya. Berikut ini adalah perkiraan kode verbose untuk program di atas:Cetak bagian belakang yang terlihat melalui "lubang" kanan.
Cetak "lubang" yang tepat.
Cetak tepi luar kubus.
Cetak "lubang" atas kubus.
Cetak "lubang" depan kubus.
Cetak bagian belakang yang terlihat melalui "lubang" depan.
Buat kubus menjadi tidak mungkin jika perlu.
Cetak bagian belakang yang terlihat melalui "lubang" atas.
sumber