Bayangkan sebuah kotak |karakter berbentuk persegi panjang yang mewakili string kencang pada alat tenun ( lungsin ) yang dijalin dengan benang lain (benang pakan ), yang akan kita wakili -.
Berikut ini adalah lilitan tenun dari alat tenun 7 × 4:
|||||||
|||||||
|||||||
|||||||
Ada beberapa cara tenunan dapat dianyam ke dalam lungsin, yang paling sederhana adalah tenunan polos .
Pada baris pertama dari tenunan polos, pakan mulai di atas string lungsin pertama, berjalan di bawah string kedua, kemudian di atas string ketiga, lalu di bawah yang keempat, dan seterusnya.
Baris pakan kedua identik dengan yang pertama tetapi diimbangi ke kanan oleh satu string warp, sehingga mulai di bawah kemudian berjalan, dan seterusnya.
Pada alat tenun 7 × 4 kami, tenunan polos terlihat seperti ini:
-|-|-|-
|-|-|-|
-|-|-|-
|-|-|-|
Kita dapat menggambarkan tenunan polos dengan mengatakan bahwa pakan melewati waktu lungsin 1 , kemudian di bawah 1 waktu, dan setiap baris berikutnya digeser 1 string ke kanan.
Sebuah menenun umum dapat digambarkan dengan memiliki pakan pergi ke warp v kali, kemudian di bawah u kali, dengan setiap baris berikutnya digeser oleh s string ke kanan. (Semua nilai adalah bilangan bulat, s mungkin 0 atau negatif, u dan v harus non-negatif.)
Alat tenun 7 × 4 dengan v = 1 , u = 2 , s = 2 , sejenis tenunan kepar :
-||-||-
||-||-|
|-||-||
-||-||-
Tantangan
Tugas Anda adalah menulis program terpendek (dalam byte) yang menghasilkan pola anyaman batang dan garis yang diberikan v , u , s , lebar dan tinggi alat tenun, dan pergeseran awal .
The pergeseran awal adalah jumlah string baris pertama di pakan digeser ke kanan (0 pada contoh di atas). Setiap baris berikutnya digeser oleh s lebih string.
Program Anda harus menggunakan 6 angka ini dalam beberapa format yang mudah digunakan (stdin, pemanggilan fungsi, dll.) Dan menampilkan kisi-kisi tenun bar dan persegi panjang ke stdout. Anda dapat menganggap semua input valid. (Semua nilai adalah bilangan bulat, lebar dan tinggi harus positif, pergeseran awal bisa apa saja.)
Contohnya
lebar = 5, tinggi = 4, pergeseran awal = 0, v = 1, u = 3, s = -2:
-|||-
||-||
-|||-
||-||
lebar = 5, tinggi = 4, pergeseran awal = 3, v = 1, u = 3, s = -2:
|||-|
|-|||
|||-|
|-|||
lebar = 5, tinggi = 4, pergeseran awal = 1, v = 1, u = 1, s = 0:
|-|-|
|-|-|
|-|-|
|-|-|
lebar = 5, tinggi = 4, pergeseran awal = 0, v = 1, u = 0, s = 0:
-----
-----
-----
-----
Catatan
- Pola selalu dimulai dengan pakan di atas lungsin di sudut kiri atas kisi (kecuali awalnya bergeser).
- Semua benang pakan masuk dari kiri. Mereka tidak spiral seperti ini .
- u + v belum tentu kelipatan dari lebar kisi.
- u dan v mungkin tidak keduanya 0