Виклик
Зима швидко наближається до багатьох місць, які отримують перші шари снігу протягом сезону 15/16, то чому б нам не вибити снігові машини і зарахувати собі сніг?
З огляду на ціле число n
через STDIN, виведіть сніжинку бета-версії ASCII (як описано нижче) на рівні n
.
Бета Сніжинка
Сніжинка починається з рівня 0 з одного x:
x
Потім на кожному куті додайте одну з цих фігур:
x
xx
Ви додали вищевказану форму до правого верхнього кута. Для правого нижнього кута поверніть його на 90 ° за годинниковою стрілкою, для нижнього лівого, на 180 ° за годинниковою стрілкою, а для верхнього лівого - на 270 ° за годинниковою стрілкою.
Якщо ви це зробите, ви отримаєте таку форму:
x x
xx xx
x
xx xx
x x
Зверніть увагу на орієнтацію фігур. Продовжуючи, ми додаємо більше фігур до кожного кута, використовуючи описані вище правила орієнтації, до діаграми, щоб отримати рівень 2:
x x x
xxxxxxx
xx x x xx
xxx xxx
xx x xx
xxx xxx
xx x x xx
xxxxxxx
x x x
Зауважте, що фігури додаються лише до x
s з двома або більше відкритими сторонами (що згадується як кут вгорі).
L-форми можуть і перекриватимуться для значень n
більше 1. Наприклад:
Якщо рівень 0:
x x
Тоді повинно бути перекриття на рівні 1 (вказане з o
, не включати o
у свій вихід):
x o x
xxxoxxx
x x
xxxoxxx
x o x
Ваше завдання - вивести це ASCII подання сніжинки Beta.
Бонус
Буде встановлено 50 бонусних повторів за найкоротшу програму, яка, коли n
негативна, виводить сніжинку (на рівні n*-1
) як зображення або графічно на екран.
У вас можуть бути окремі програми для виграшу та основного завдання.
Перемога
Виграє найкоротша програма в байтах.
2 or more exposed sides
правило? Припускаючи , що центр є 0,0
те 1,1
, 1,-1
, -1,-1
, -1,1
всі мають 2 відкриті сторони (сторони , зверненої до інших 4 бали). Чи не повинно бути 3+ відкритих сторін, щоб уникнути заповнення? Або по черзі воно розширюється лише за наявності 0 або 1 сусідів (кардинальних).