Karena itu, keluarga dari seluruh dunia membangun pohon Natal.
Tapi pohon normal ini bisa membosankan setelah beberapa saat, jadi mari kita buat pohon ASCII!
Daun diwakili oleh #
dan harus diatur seperti yang ditunjukkan dalam contoh output. Kami memiliki 5 bola ( O
) dan 5 tongkat permen (J
), yang kami tempatkan secara acak di sekitar pohon. Kami juga memiliki lilin di atasnya.
Masukan: tidak ada
Keluaran:
^
|
###
##O##
#######
#####
####J##
#########
####O######
#############
###J###
#########
####O###J##
#######O#####
###J########O##
###########J#####
###
###
Aturan (jika tidak ada aturan, anggap Anda bisa)
Bola dan tongkat permen harus ditempatkan secara acak di pohon dan harus memiliki setidaknya satu daun di antara mereka, tidak termasuk diagonal.
Setiap daun harus memiliki peluang yang tidak nol untuk mendapatkan bola atau tongkat permen.
Mungkin ada ruang depan atau belakang di setiap garis, selama pohon itu memiliki bentuk yang tepat.
Ini adalah kode-golf , jadi kode terpendek dalam karakter menang.
Jawaban:
JavaScript (ES6), 148 byte
Semoga ini sesuai dengan kondisi 'cukup acak'.
Demo
Tampilkan cuplikan kode
sumber
j=new Date
denganj=0
kej=12
.)CS-Script - 306 byte
Sekali lagi dengan pemformatan dan komentar:
Ini pada dasarnya C #, tetapi menggunakan CS-Script memungkinkan saya untuk melewati semua boiler-plate.
Coba di sini!
Catatan:
Ini saat ini menampilkan garis spasi putih di bawah pohon untuk memastikan bahwa 'memeriksa ornamen yang ada di bawah' tidak melempar IndexOutOfBoundsException. Solusi lain adalah:
Saya akan menyerahkannya ke OP jika ini harus diubah.
Terakhir, ini adalah golf pertama saya, jadi setiap umpan balik sangat dihargai. ;)
sumber
using System;
dalam hitungan byte Anda, karena Anda tidak dapat menggunakanRandom
atauConsole
tanpanya. meta.codegolf.stackexchange.com/questions/10081/... Maaf untuk menambahkan 13 byte :(using System;
tidak diperlukan (secara otomatis mengimpor ruang nama umum). Tapi mungkin aku membelah rambut. ¯_ (ツ) _ / ¯_=>{var c=... return c;}
TSQL,
556532494476 byteScript ini perlu dieksekusi pada database master
Golf:
Tidak Disatukan:
Cobalah
sumber
Python 3 -
450427 byteSaya tahu
450
terlalu banyak untuk python. Tapi tapi.....Jika
for i in'O'*...
diubah menjadi fungsi rekursif yang lebih baik maka banyak byte dapat dikurangi.Coba di sini
Edit :
Disimpan 2 byte dengan menggunakan
;
sebagai pembatas dan beberapa byte dengan mengambil jumlah byte baris baru sebagai 1 byte.sumber
JavaScript, 204 byte
sumber
\n
sebagai 1 byte?PHP, 200 byte
mungkin lebih pendek dengan pendekatan yang lebih canggih; tapi saya sedang terburu-buru.
membutuhkan PHP 5.6 atau 7.0. Jalankan dengan
-nr
atau coba online .sumber
Scala, 329 byte
sumber