Diberikan
- matriks
a
karakter dariu=" ╶╺╵└┕╹┖┗╴─╼┘┴┶┚┸┺╸╾━┙┵┷┛┹┻╷┌┍│├┝╿┞┡┐┬┮┤┼┾┦╀╄┑┭┯┥┽┿┩╃╇╻┎┏╽┟┢┃┠┣┒┰┲┧╁╆┨╂╊┓┱┳┪╅╈┫╉╋"
- koordinat submatrix sebagai
x
,y
,w
,h
(kiri, atas, lebar> 1, tinggi> 1) - ketebalan
t
1 (seperti dalam┌
) atau 2 (seperti dalam┏
)
render batas dalam untuk submatrix dengan ketebalan yang ditentukan, dengan mempertimbangkan garis yang ada.
x=4;y=1;w=2;h=3;t=2;
a=[' ┌───┐',
'┌┼┐ │',
'│└┼──┘',
'└─┘ ']
// output
r=[' ┌───┐',
'┌┼┐ ┏┪',
'│└┼─╂┨',
'└─┘ ┗┛']
Saat menimpa fragmen garis, ketebalan baru harus lebih besar dari ketebalan lama dan t
.
Ini bukan tentang masukan parsing atau menemukan kompleksitas Kolmogorov dari Unicode, sehingga Anda mungkin menganggap a
, u
, x
, y
, w
, h
, t
tersedia untuk Anda sebagai variabel. Selain itu, Anda dapat meletakkan hasilnya dalam variabel r
alih-alih mengembalikan atau mengeluarkannya, asalkan r
dengan jenis yang sama a
.
Jika bahasa Anda memaksa Anda untuk menempatkan kode dalam fungsi (C, Java, Haskell, dll) dan solusi Anda terdiri dari satu fungsi, Anda dapat menghilangkan header dan footer fungsi.
Tes yang lebih besar:
x=4;y=1;w=24;h=4;t=1;
a=['┏┱─────┐ ┌┐ ┎──┲━┓',
'┠╂─────┘ ││ ┃ ┗━┛',
'┃┃ ││ ┃ ',
'┠╂──┲━━┓ ┏━━━━┓ ││ ┌╂┰┐ ',
'┃┃ ┗━━┩ ┃ ┃ └╆━┓ └╂┸┘ ',
'┃┃ │ ┃ ┃ ┃ ┃ ┃ ',
'┗┹─────┘ ┗━━━━┛ ┗━┛ ╹ ']
// output
r=['┏┱─────┐ ┌┐ ┎──┲━┓',
'┠╂──┬──┴─────────┼┼─────╂──╄━┛',
'┃┃ │ ││ ┃ │ ',
'┠╂──╆━━┓ ┏━━━━┓ ││ ┌╂┰┐│ ',
'┃┃ ┗━━╃──╂────╂─┴╆━┱──┴╂┸┴┘ ',
'┃┃ │ ┃ ┃ ┃ ┃ ┃ ',
'┗┹─────┘ ┗━━━━┛ ┗━┛ ╹ ']
0 <= x < x + w < width(a)
dan0 <= y < y + h < height(a)
?