Виклик
Зима швидко наближається до багатьох місць, які отримують перші шари снігу протягом сезону 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
Зауважте, що фігури додаються лише до xs з двома або більше відкритими сторонами (що згадується як кут вгорі).
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 сусідів (кардинальних).