Backstory
Tidak terlalu nyata, sshh!
Semuanya dimulai suatu hari ketika seorang rekan kerja membawa roti buatan sendiri untuk ulang tahun bos saya.
Bos saya sangat menyukai roti ini, dan dia menginginkan yang lain. Sayangnya, rekan kerja saya sudah berhenti, jadi bos saya meminta saya memberinya roti lagi.
Masalahnya, saya tidak tahu cara membuat roti. Jadi saya memberi tahu atasan saya bahwa saya bukan koki dan terlihat lebih keras bagi seseorang.
Dia berkata, "Tentu ... tetapi Anda kehilangan pekerjaan Anda jika Anda tidak dapat membuat saya makan roti."
Lalu saya punya ide.
Saya akan menjadikannya ascii-art loaf dengan skilz coding saya! Dia berkata ya, dengan 1 syarat: "Anda harus membuatnya di bawah 351 byte." Sayangnya bagi saya, golf kode terbaik saya membuat saya sampai 375 byte. Uh oh.
Kemudian bos saya menambahkan 2 hal: "Anda harus memberi saya roti dalam seminggu (13/4), dan jika Anda melakukannya Anda mendapatkan gaji yang meningkat. Semakin rendah jumlah byte yang Anda gunakan, semakin baik gaji. Tetapi ingat, jika Anda melebihi 349 Anda kehilangan pekerjaan. "
Jadi saya butuh bantuan Anda dalam bahasa pilihan Anda untuk membantu saya mempertahankan pekerjaan saya!
Aturan
Saya akan melakukan curl ... | shpada TinyURL, tetapi bos saya mengatakan kepada saya bahwa saya tidak dapat menggunakan daftar celah . Saya mungkin bisa melanggar aturan, tapi pekerjaan saya dipertaruhkan, jadi itu bukan ide yang baik.
Apa yang dianggap sebagai roti
Program atau fungsi Anda harus mengambil 3 bilangan bulat positif sebagai input. Jika bahasa Anda memiliki daftar atau larik, Anda dapat mengambil daftar atau larik angka-angka itu. Anda juga dapat menganggapnya sebagai argumen untuk suatu fungsi atau program, atau string angka yang dipisahkan spasi untuk STDIN, baris perintah atau argumen fungsi, dll.
Angka pertama adalah lebar roti Anda
Angka kedua adalah ketinggian roti Anda.
Angka ketiga adalah kedalaman roti Anda.
Inilah roti dengan lebar 3, tinggi 2, dan kedalaman 1:
/ --- \ / --- \ | | || | ___ | /
Terlihat aneh? Ini adalah 3x2x2:
/ --- \ / | / --- \ | | | / | ___ | /
Bagaimana dengan 3x3x3:
/ --- \ / | / | / --- \ | | | / | | / | ___ | /
A 4x1x2:
/ ---- \ / | / ---- \ / | ____ | /
Saya harap Anda mengerti! Lihat jawaban JS (ES6) saya di bawah ini untuk contoh.
Catatan:
- Jangan khawatir tentang input yang valid. Semua ukuran akan bilangan bulat positif.
- Anda harus menerima bilangan bulat positif yang dapat didukung oleh bahasa Anda.
- Jika angkanya sangat tinggi, bahasa Anda macet dari StackOverflow, panjang string maksimum, dll.