Уявіть, що прямокутна сітка |
символів являє собою натягнуті нитки на ткацькому верстаті ( основи ), якими можуть бути сплетені інші нитки ( качка ), які ми будемо представляти як -
.
Ось нетканий каркас із верстата 7 × 4:
|||||||
|||||||
|||||||
|||||||
Існує ряд способів, як качка може бути вплетена в основу, найпростішим є звичайне плетіння .
У першому ряду звичайного переплетення качка починається над першою ниткою основи, йде нижче другої струни, потім вище третьої струни, потім нижче четвертої тощо.
Другий рядок качка є ідентичним першому, але зміщений праворуч однією основою, тому він починається під потім переходить і так далі.
На нашому ткацькому верстаті розміром 7 × 4 звичайне переплетення виглядає так:
-|-|-|-
|-|-|-|
-|-|-|-
|-|-|-|
Ми можемо описати звичайне переплетення, сказавши, що качка переходить через основу 1 раз, потім за 1 раз, а кожен наступний ряд зміщується на 1 рядок праворуч.
Узагальнене переплетення може бути описане тим, щоб качка переходила основу v разів, а потім під час u , при цьому кожен наступний ряд зміщувався s рядками праворуч. (Усі значення є цілими числами, s може бути 0 або від’ємним, u і v повинні бути невід’ємними.)
Верстат 7 × 4 з v = 1 , u = 2 , s = 2 , тип плетіння саржа :
-||-||-
||-||-|
|-||-||
-||-||-
Виклик
Ваше завдання полягає в тому, щоб написати найкоротшу програму (у байтах), яка створює сплетений візерунок брусків і тире, заданих v , u , s , шириною і висотою ткацького верстата та початковим зсувом .
Початкове зміщення є числом рядків , перший рядок в качці зміщуються вправо (0 в вищенаведених прикладах). Кожен наступний ряд зміщується на s більше рядків.
Ваша програма повинна приймати ці 6 номерів у простому у використанні форматі (stdin, виклик функції тощо) та виводити ткану сітку з брусків та прямокутників у stdout. Ви можете припустити, що всі дані є дійсними. (Усі значення - цілі числа, ширина та висота повинні бути позитивними, початковий зсув може бути будь-яким.)
Приклади
ширина = 5, висота = 4, початковий зсув = 0, v = 1, u = 3, s = -2:
-|||-
||-||
-|||-
||-||
ширина = 5, висота = 4, початковий зсув = 3, v = 1, u = 3, s = -2:
|||-|
|-|||
|||-|
|-|||
ширина = 5, висота = 4, початковий зсув = 1, v = 1, u = 1, s = 0:
|-|-|
|-|-|
|-|-|
|-|-|
ширина = 5, висота = 4, початковий зсув = 0, v = 1, u = 0, s = 0:
-----
-----
-----
-----
Примітки
- Візерунок завжди починається з качка над основою у верхньому лівому куті сітки (якщо спочатку не зміщено).
- Усі нитки качка надходять зліва. Вони НЕ спіраль , як це .
- u + v не обов'язково кратне ширині сітки.
- u і v може бути не 0