Di bawah ini adalah diagram waktu Digital (skematis) , untuk gerbang logika XNOR .
┌─┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ ┌───┐
A ──┘ └─┘ └─┘ └─┘ └─┘ └─┘ └──
┌───┐ ┌───┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐
B ┘ └─┘ └─┘ └─┘ └───┘ └─┘ └
┌─────┐ ┌─┐ ┌─┐ ┌───┐
X ──┘ └───┘ └───┘ └───┘ └────
Tujuan Anda adalah untuk mereproduksi persis seperti yang digambarkan.
Aturan:
Anda dapat mencetaknya atau mengembalikan string multiline;
Jumlah sewenang-wenang dari traling dan / atau baris baru diizinkan;
Spasi spasi trailing (tetapi tidak mengarah!) Diizinkan;
Jika Anda tidak dapat menggunakan karakter menggambar kotak ASCII yang diperluas, Anda dapat menggantikannya dengan ekuivalen unicode (tanpa penalti byte).
Ini adalah kode-golf sehingga jawaban tersingkat dalam byte menang.
Representasi Biner
Untuk kenyamanan Anda, representasi biner dari diagram di atas adalah sebagai berikut:
INP A=0101011101010110
INP B=1101101011100101
___
X=A⊕B=0111001001001100
Output Sampel
Sidenote
Saat mengerjakan pertanyaan ini, saya telah mengimplementasikan dua solusi bash yang berbeda untuk itu, satu panjangnya 122 karakter / byte (seperti yang digambarkan di atas), dan yang lain panjangnya persis 100 byte.
Saya tidak punya rencana untuk mempostingnya (karena saya biasanya tidak memposting jawaban untuk pertanyaan saya sendiri), jadi itu hanya untuk referensi.
Saya juga percaya bahwa setidaknya beberapa solusi sub-100 byte dimungkinkan.
Jawaban:
05AB1E , 101 byte
+ 5 UTF-8 byte = 116 Total Bytes =106 Bytes(VEGSI LEGACY 05AB1E, TANPA LAMA DI TIO)
Cobalah online!
Kompresi:
Konversi:
Menggunakan pengkodean CP-1252 .
sumber
Åв
(saya juga memperbarui tip generator ASCII-art dengan ini): 106 byteBubblegum , 76 byte
Cobalah online!
Menggunakan karakter menggambar kotak dari set karakter alternatif VT100, yang tidak dapat diperagakan oleh TIO. Jalankan di terminal UNIX untuk hasil terbaik. Terminal saya mengonversi ACS ke UTF-8 dengan cara salin dan tempel, sehingga Anda dapat melihat efeknya di sini.
Nah, tantangan tidak mengatakan kita perlu mengambil kembali terminal keluar dari modus ACS sebelum kembali ke shell. Semoga beruntung dengan itu.
sumber
Ruby, 113 byte
menghitung simbol yang dicetak sebagai satu byte sebagaimana diizinkan oleh tantangan (saya terkejut menemukan mereka sebenarnya 3 byte.)
6 baris output cocok untuk pengkodean 6 bit per setiap karakter string ajaib. Tetapi karakter string ajaib sebenarnya menyandikan untuk setiap transisi sebagai berikut:
Ini diterjemahkan untuk menemukan 2 karakter yang harus dicetak untuk setiap transisi (yang pertama adalah spasi atau garis horizontal.) 8 karakter string untuk baris atas dan bawah tumpang tindih: Dua karakter terakhir untuk baris atas
11
adalah dua garis horizontal, yang cocok dengan apa yang diperlukan untuk dua karakter pertama dari baris bawah00
. 8 karakter untuk baris bawah membungkus: mereka adalah 6 terakhir dan 2 karakter pertama dari string simbol.Kode tidak dikunci
sumber
If you can not use the extended ASCII box-drawing characters, you may substitute them for the unicode equivalents (at no byte penalty)
Kita semua telah mencetak jawaban kita sesuai dengan aturan.PowerShell, 255 karakter, 265 byte (UTF-8)
Ini berfungsi di komputer saya, tetapi sepertinya tidak mengurai byte dengan benar di TIO ...
Ini ditetapkan
$a
menjadi string multi-baris yang diisi dengan angka dan spasi, lalu loop0..4|%{...}
. Setiap iterasi, kami-replace
digit yang sesuai$_
dengan karakter yang sesuai'┌─┐┘└'[$_]
dan menyimpannya kembali$a
. Kemudian, kita tinggalkan saja$a
pipeline dan outputnya implisit.sumber
JavaScript (ES6),
163158154 byteNB: menghitung karakter UTF-8 sebagai byte, sebagaimana diizinkan oleh tantangan.
Demo
Tampilkan cuplikan kode
Disimpan 4 byte berkat Neil
sumber
j%2?" ─"[p^i&1]:" ┐┌─└┘ "[p+(p=[27370,42843,12878][i>>1]>>j/2&1)*2+i%2*3]
menghemat 3 byte.C,
213205 byteUntuk perubahan, ukuran program C, pada tantangan ini, tidak sepenuhnya konyol dibandingkan dengan bahasa lain.
Tidak digabungkan, didefinisikan diperluas, dan dikomentari:
Catatan: string C tidak boleh mengandung karakter unicode. Semua karakter yang dapat ditampilkan harus karakter lama 8-bit yang sederhana (tetapi karakter tersebut dapat dipilih dalam rentang yang diperluas). Jadi pada dasarnya, validitas output tergantung pada halaman kode Anda.
sumber
tcl, 221 karakter, 299 byte
dapat dijalankan di: http://rextester.com/live/VVQU99270
sumber