Kadang-kadang ketika saya mencoret-coret, saya menggambar persegi panjang, mulai dengan diagonal dari salah satu sudut, dan kemudian menelusuri garis dengan "memantulkan" setiap kali saya menekan sisi persegi panjang. Saya melanjutkan ini sampai saya menyentuh sudut lain dari persegi panjang (dan berharap bahwa aspek rasio persegi panjang saya tidak tidak rasional;)). Ini seperti menelusuri jalan sinar laser ke dalam kotak. Anda akan menghasilkan hasil itu dengan seni ASCII.
Sebagai contoh, perhatikan kotak lebar 5
dan tinggi 3
. Kami akan selalu mulai di sudut kiri atas. The #
tanda batas kotak. Perhatikan bahwa lebar dan tinggi mengacu pada dimensi bagian dalam.
####### ####### ####### ####### ####### ####### #######
#\ # #\ # #\ \# #\ /\# #\ /\# #\/ /\# #\/\/\#
# \ # # \ /# # \ /# # \/ /# # \/ /# #/\/ /# #/\/\/#
# \ # # \/ # # \/ # # /\/ # #\/\/ # #\/\/ # #\/\/\#
####### ####### ####### ####### ####### ####### #######
Tantangan
Mengingat (positif) lebar dan tinggi kotak, Anda harus menghasilkan hasil akhir dari penelusuran laser. Anda dapat menulis sebuah program atau fungsi, mengambil input melalui STDIN (atau alternatif terdekat), argumen baris perintah, argumen fungsi dan output hasilnya melalui STDOUT (atau alternatif terdekat), atau melalui fungsi mengembalikan nilai atau argumen.
Anda dapat menggunakan format daftar, string, atau angka yang mudah digunakan untuk input. Output harus berupa string tunggal (kecuali jika Anda mencetaknya ke STDOUT, yang tentu saja Anda lakukan secara bertahap). Ini juga berarti Anda dapat mengambil tinggi pertama dan lebar kedua - cukup tentukan format input yang tepat dalam jawaban Anda.
Tidak boleh ada spasi spasi awalan atau jejak pada output apa pun. Anda secara opsional dapat menampilkan satu baris baru.
Anda harus menggunakan ruang, /
, \
dan #
dan mereproduksi kasus uji persis seperti yang ditunjukkan.
Uji Kasus
2 2
####
#\ #
# \#
####
3 2
#####
#\/\#
#/\/#
#####
6 3
########
#\ /#
# \ / #
# \/ #
########
7 1
#########
#\/\/\/\#
#########
1 3
###
#\#
#/#
#\#
###
7 5
#########
#\/\/\/\#
#/\/\/\/#
#\/\/\/\#
#/\/\/\/#
#\/\/\/\#
#########
22 6
########################
#\ /\ /\ /\ /\ /\ #
# \/ \/ \/ \/ \/ \#
# /\ /\ /\ /\ /\ /#
#/ \/ \/ \/ \/ \/ #
#\ /\ /\ /\ /\ /\ #
# \/ \/ \/ \/ \/ \#
########################
X
akan diperlukan untuk penyeberangan. Mungkin lain kali. ;)