Tantangan
Musim dingin semakin dekat dengan banyak tempat menerima lapisan salju pertama untuk musim 15/16, jadi mengapa kita tidak mengeluarkan mesin salju dan memberi kode pada kita salju?
Diberikan bilangan bulat nmelalui STDIN, menghasilkan representasi ASCII kepingan salju Beta (seperti yang dijelaskan di bawah) di tingkat n.
Kepingan Salju Beta
Kepingan salju dimulai pada level 0 dengan satu x:
x
Lalu, di setiap sudut Anda menambahkan salah satu dari bentuk ini:
x
xx
Anda menambahkan bentuk di atas ke sudut kanan atas. Untuk sudut kanan bawah, putar 90 ° searah jarum jam, untuk kiri bawah, 180 ° searah jarum jam dan untuk kiri atas, 270 ° searah jarum jam.
Jika Anda melakukannya, Anda mendapatkan bentuk berikut:
x x
xx xx
x
xx xx
x x
Perhatikan orientasi bentuk. Melanjutkan kita menambahkan lebih banyak bentuk ke setiap sudut, menggunakan aturan orientasi yang dijelaskan di atas, ke diagram untuk mendapatkan level 2:
x x x
xxxxxxx
xx x x xx
xxx xxx
xx x xx
xxx xxx
xx x x xx
xxxxxxx
x x x
Perhatikan bahwa bentuk hanya ditambahkan ke xs dengan dua sisi terbuka atau lebih (yang disebut sebagai sudut di atas).
Bentuk-L dapat dan akan tumpang tindih untuk nilai yang nlebih besar dari 1. Misalnya:
Jika level 0 adalah:
x x
Maka harus ada tumpang tindih di level 1 (ditunjukkan dengan o, jangan termasuk odalam output Anda):
x o x
xxxoxxx
x x
xxxoxxx
x o x
Tugas Anda adalah menampilkan representasi kepingan salju Beta dari ASCII ini.
Bonus
Akan ada bonus 50 rep untuk program terpendek yang, ketika nnegatif, mengeluarkan kepingan salju (pada level n*-1) sebagai gambar atau secara grafik ke layar.
Anda mungkin memiliki program terpisah untuk karunia dan tugas utama.
Kemenangan
Program terpendek dalam byte menang.
2 or more exposed sidesaturannya? Dengan asumsi center 0,0kemudian 1,1, 1,-1, -1,-1, -1,1semua memiliki 2 sisi terkena (sisi menghadap ke arah yang lain 4 poin). Bukankah seharusnya 3+ sisi terbuka untuk menghindari pengisian? Atau bergantian hanya mengembang jika memiliki 0 atau 1 tetangga (kardinal).