Ви проводите Олімпійські ігри, і вам потрібно зібрати фантастичний басейн заради цього випадку, але наглядові органи часто змінюють свою думку щодо розмірів, і потрібен швидкий спосіб відновити його із потрібним розміром!
Враховуючи два цілих числа, Lі x, ваше завдання - побудувати басейн довжиною Lі xсмугами.
Як будується басейн?
Він містить внутрішній квадрат, горизонтальні стінки якого виготовлені з
Lпослідовних тире (-), а вертикальні стінки виконані з3x - 1брусків (|). Крім того,+у кожному куті лежать 4 знаки. Давайте маємо приклад (L = 10, x = 2):+ ---------- + | | | | | | | | | | + ---------- +
Кожна смуга має ширину 2 вертикальних одиниці. Внутрішній квадрат заповнений
x-1роздільниками смуг, що складаються зLгоризонтально послідовних:символів. Після розміщення роздільників смуги руху наш басейн повинен виглядати так:+ ---------- + | | | | | :::::::::: | | | | | + ---------- +
Басейн також містить прокладки (зовнішній квадрат), горизонтальні стіни яких (L + 4)
-s і вертикальні стіни яких (3x + 1)|s, що оточують внутрішній квадрат:+ -------------- + | + ---------- + | | | | | | | | | | | :::::::::: | | | | | | | | | | | + ---------- + | + -------------- +
І це наш басейн ** з олімпійськими розмірами **!
Технічні характеристики:
З метою дизайну та функціональності ви гарантуєте, що
100 ≥ L ≥ 10і15 ≥ x ≥ 2.Вихід повинен бути точно таким, як показано. Виведення "вертикально вбудованого" * пулу заборонено.
Доступні пробіли та провідні місця.
Ви можете взяти вклад і надати вихід за допомогою будь-якого стандартного методу .
Застосовуються лазівки за замовчуванням .
Приклади / Тестові приклади:
L = 20, x = 3 + ------------------------ + | + -------------------- + | | | | | | | | | | | ::::::::::::::::::::: | | | | | | | | | | | | ::::::::::::::::::::: | | | | | | | | | | | + -------------------- + | + ------------------------ + L = 50, x = 5: + ------------------------------------------------- ----- + | + ------------------------------------------------- - + | | | | | | | | | | | :::::::::::::::::::::::::::::::::::::::::::::::::::: : | | | | | | | | | | | | :::::::::::::::::::::::::::::::::::::::::::::::::::: : | | | | | | | | | | | | :::::::::::::::::::::::::::::::::::::::::::::::::::: : | | | | | | | | | | | | :::::::::::::::::::::::::::::::::::::::::::::::::::: : | | | | | | | | | | | + ------------------------------------------------- - + | + ------------------------------------------------- ----- + L = 10, x = 15 + -------------- + | + ---------- + | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | | :::::::::: | | | | | | | | | | | + ---------- + | + -------------- +
Це код-гольф , тому найкоротший код у байтах виграє!
* Вода може витікати, якщо вона побудована вертикально: P
** Так, я знаю, що чим більше смуг і коротший басейн, тим менше малюнок виглядає як басейн!
x>=L??
L=10і x=15? Чи не було б більше доріжок, ніж можна було б розмістити в басейні? Я міг би нерозуміти наміри