pengantar
Singkat cerita: beberapa hari yang lalu saya secara tidak sengaja mulai merajut kaus kaki dan struktur jahitan yang cukup logis membawa saya pada ide: Mengapa kita tidak hanya ASCII-merajut kaus kaki?
Memasukkan
Input adalah bilangan bulat genap N dalam kisaran [2,30].
Keluaran
Keluarannya adalah kaus kaki, jelas.
Struktur
Karena kami hanya akan menggunakan jahitan biasa, Anda hanya akan menggunakan vuntuk jahitan ke bawah dan >untuk jahitan ke kanan. Biarkan saya menjelaskan struktur lengkap dengan contoh untuk N=8:
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvv>>>
vvvvvv>>>>>>
vvvvv>>>>>>>>>
vvvv>>>>>>>>>>>>
vvvv>>>>>>>>>>>>>>>>>>>>>>>>
vvvv>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvv>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvv>>>>>>>>>>>>>>>>>>>>>>>>
- Blok pertama adalah bagian atas. Ia memiliki lebar
Ndan tinggiN*1.5 - Setelah itu tumit dimulai. Anda mengurangi satu
vper baris dari sisi kanan hingga Anda memilikiN/2lebar. Kemudian Anda menambahkanN/2baris dengan lebar diN/2bawah untuk menyelesaikan rajutan ke bawah. Perhatikan bahwa ini memberikan totalN/2 + 1baris dengan lebarN/2
bagian pertama:
vvvvvvvv //begin with width N
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv // N*1.5 times
vvvvvvv // reduce
vvvvvv
vvvvv
vvvv // till here
vvvv // repeat N/2 times
vvvv
vvvv
vvvv
- Sekarang rajutan sisi samping dimulai. Anda mulai dengan baris pertama yang diperkecil, isi
>sampai Anda memiliki lebarNdan tambahkan dua lagi. Lanjutkan proses itu termasuk baris pertama denganN/2lebar - Isi baris di bawah ke level itu dan tambahkan
N*1.5waktu>ke sana - Biarkan bagian luar sebagaimana adanya dan tambahkan pada baris di bawah yang pertama dan di atas lase dua lagi
>'ssampai selesai
bagian kedua:
vvvvvvvv
vvvvvvv>>> //fill to N and add two >
vvvvvv>>>>>> //repeat
vvvvv>>>>>>>>>
vvvv>>>>>>>>>>>> //till here
vvvv>>>>>>>>>>>>>>>>>>>>>>>> //fill to the row above and add N*1.5 times >
vvvv>>>>>>>>>>>>>>>>>>>>>>>>>> //add two more '>' than the row above
vvvv>>>>>>>>>>>>>>>>>>>>>>>>>> //add two more '>' than the row beneath
vvvv>>>>>>>>>>>>>>>>>>>>>>>>
Aturan
Mengejar baris baru ok.
Anda dapat memilih antara huruf besar atau kecil Vtetapi harus konsisten.
Ini adalah kode-golf sehingga kode terpendek dalam byte menang.
Uji kasus
N=2
vv
vv
vv
v>>>
v>>>>>>
N=4
vvvv
vvvv
vvvv
vvvv
vvvv
vvvv
vvv>>>
vv>>>>>>
vv>>>>>>>>>>>>
vv>>>>>>>>>>>>
N=6
vvvvvv
vvvvvv
vvvvvv
vvvvvv
vvvvvv
vvvvvv
vvvvvv
vvvvvv
vvvvvv
vvvvv>>>
vvvv>>>>>>
vvv>>>>>>>>>
vvv>>>>>>>>>>>>>>>>>>
vvv>>>>>>>>>>>>>>>>>>>>
vvv>>>>>>>>>>>>>>>>>>
N=12
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvv>>>
vvvvvvvvvv>>>>>>
vvvvvvvvv>>>>>>>>>
vvvvvvvv>>>>>>>>>>>>
vvvvvvv>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vatau Vsecara bergantian? Saya akan menganggap untuk saat vini adalah satu-satunya yang diizinkan, tetapi memungkinkan Vakan mempengaruhi jumlah byte