Hari ini adalah Hari Bacon yang mungkin mengapa nama topi untuk berpartisipasi hari ini adalah "Bacon Mmmm". Apa cara yang lebih baik untuk merayakan hari bacon dengan matriks 2d penuh kesenangan yang terbuat dari bacon! Potongan daging 1 oleh 1 diwakili oleh ini:
-----
)===)
(===(
)===)
-----
Tujuan Anda di sini diberikan dua koordinat dalam sebuah tuple, ( x
, y
), di mana x
dan y
bilangan bulat positif bukan nol, Anda harus membuat bacon dan kembali dalam beberapa format (daftar, array, string).
Masukan dan keluaran:
Input: (2, 1)
Output:
----------
)===))===)
(===((===(
)===))===)
----------
Input: (1, 2)
Output:
-----
)===)
(===(
)===)
-----
)===)
(===(
)===)
-----
Input: (2, 2)
----------
)===))===)
(===((===(
)===))===)
----------
)===))===)
(===((===(
)===))===)
----------
Aturan:
Seperti yang dapat Anda lihat dengan kotak uji kedua, jika beberapa potong daging ditumpuk, hanya satu yang
-----
terpisah dengan masing-masing potongan daging di atas dan / atau di bawahnya. Itu berarti menumpuk bacon seperti ini tidak valid:----- )===) (===( )===) ----- ----- )===) (===( )===) -----
Celah standar dilarang
Kode keharusan bekerja untuk kasus uji di atas dan berikut:
(4, 4)
,(1, 6)
,(5, 1)
,(2, 3)
,(3, 2)
Berikan juru bahasa tempat uji kasus di atas dapat diuji
Kriteria Menang:
Kode terpendek menang! Selamat Hari Bacon untuk semua orang!
sumber
Jawaban:
V ,
28, 26, 24 byteCobalah online!
Penjelasan:
sumber
TI-Basic, 80 byte
Yang ini sebenarnya cukup jenius :)
sumber
Input
tanpa argumen mendapat input secara default keX
danY
.Python 2.7, 74 byte
Saya yakin ini bisa bermain golf lagi, tapi inilah yang saya dapatkan (fitur multiplikasi string Python sangat berguna):
Coba di sini !
Tidak digabungkan dengan penjelasan:
sumber
Mathematica, 74 byte
Fungsi tanpa nama mengambil dua argumen integer positif dan mengembalikan string-dengan-baris baru. Pendekatan standar Mathematica: membangun array 2d string menggunakan pemilih (mod 4) untuk siklus string ke arah vertikal, kemudian runtuh ke string tunggal.
sumber
Batch, 168 byte
Sayangnya saya tidak bisa menulis
@echo %s:==-%
kalau tidak akan menghilangkan keharusan untuk variabel kedua.sumber
&
...C,
9189 bytesumber
05AB1E , 25 byte
Kode:
Penjelasan:
Menggunakan pengkodean CP-1252 . Cobalah online!
sumber
05AB1E ,
3230 byteDisimpan 2 byte berkat Adnan .
Cobalah online!
Penjelasan
sumber
")===)"
dengan…)==û
:)Python 2 , 70 byte
Terima kasih kepada @xnor karena telah menghemat 4 byte!
Cobalah online!
sumber
[_::3]
akan lebih pendek.2**n%5%3
siklus mana[1, 2, 1, 0, 1, 2, 1, 0, ...]
. Mungkinkah itu berguna?Python 2, 59 byte
Menghasilkan setiap baris
a+b*3+a
dari karakter awala
dan karakter tengahb
(yang dihitung daria
). Thea
's siklus melalui'-()('
, sedangkanb
adalah'-'
saata
ini'-'
, dan'='
sebaliknya.67 byte:
Buat setiap baris dari karakter luarnya
a
dan karakter tengahb
sebagaia+b*3+a
, lalu cetakw
salinannya. Siklus ini melalui azip
.sumber
JavaScript,
132129121 byte-8 byte terima kasih kepada @ user2428118
Ini mungkin bisa lebih banyak golf. Jika Anda memiliki saran, silakan tinggalkan di komentar.
sumber
(x,y)=>eval('a=b=[d="-----",c=")===)","(===(",c,d];for(i=0;++i<y;)b=[...b,...a.slice(1)].map(v=>v.repeat(x)).join
_BACKTICK NEWLINE BACKTICK_;')
Lua, 132 byte
Upaya string yang panjang dan literal. Coba di sini .
sumber
JavaScript (ES6), 78
Uji
sumber
Bahasa GameMaker,
160139148 byte133 bytesumber
Jelly , 26 byte
Ini adalah tautan diad (fungsi) yang mengembalikan array 2D.
Cobalah online!
Bagaimana itu bekerja
sumber
C,
159158153 byteTelepon dengan:
sumber
C #, 160 byte
Versi yang diformat:
Cobalah online! (untuk beberapa alasan tautan ini memberikan kesalahan tetapi tetap berfungsi)
sumber
Dart,
125117 byteCoba di sini!
sumber
Dyalog APL, 55 byte
Ini adalah pertama kalinya saya menggunakan Dyalog APL, jadi saya yakin ini bukan pendekatan terbaik.
Penjelasan: Ini adalah pendekatan yang cukup sederhana, untuk kotak bacon N × M, saya membuat matriks N × (4M) dari empat string berikut, mengulangi:
Lalu aku menyatukan senar itu
-----
ke awal.Berikut penjelasan singkat kodenya:
sumber
Tcl , 91 byte
Cobalah online!
sumber
PowerShell , 64 byte
Cobalah online!
sumber