Дано
- матриця
a
символів зu=" ╶╺╵└┕╹┖┗╴─╼┘┴┶┚┸┺╸╾━┙┵┷┛┹┻╷┌┍│├┝╿┞┡┐┬┮┤┼┾┦╀╄┑┭┯┥┽┿┩╃╇╻┎┏╽┟┢┃┠┣┒┰┲┧╁╆┨╂╊┓┱┳┪╅╈┫╉╋"
- координати подматріци , як
x
,y
,w
,h
(зліва, зверху, ширина> 1, висота> 1) - товщина
t
1 (як у┌
) або 2 (як у┏
)
відображають внутрішню межу для підматриці із заданою товщиною, враховуючи існуючі рядки.
x=4;y=1;w=2;h=3;t=2;
a=[' ┌───┐',
'┌┼┐ │',
'│└┼──┘',
'└─┘ ']
// output
r=[' ┌───┐',
'┌┼┐ ┏┪',
'│└┼─╂┨',
'└─┘ ┗┛']
При перезаписі фрагмента лінії нова товщина повинна бути більшою від старої товщини і t
.
Мова йде не про вхідному розборі або знайти складність Колмогорова Юникода, тому можна вважати a
, u
, x
, y
, w
, h
, t
доступні в якості змінних. Крім того, ви можете помістити результат у змінну r
замість того, щоб повертати або виводити її до тих пір, поки r
вона того ж типу a
.
Якщо ваша мова змушує вас вводити код у функції (C, Java, Haskell тощо), і ваше рішення складається з однієї функції, ви можете опустити заголовок і колонтитул функції.
Більший тест:
x=4;y=1;w=24;h=4;t=1;
a=['┏┱─────┐ ┌┐ ┎──┲━┓',
'┠╂─────┘ ││ ┃ ┗━┛',
'┃┃ ││ ┃ ',
'┠╂──┲━━┓ ┏━━━━┓ ││ ┌╂┰┐ ',
'┃┃ ┗━━┩ ┃ ┃ └╆━┓ └╂┸┘ ',
'┃┃ │ ┃ ┃ ┃ ┃ ┃ ',
'┗┹─────┘ ┗━━━━┛ ┗━┛ ╹ ']
// output
r=['┏┱─────┐ ┌┐ ┎──┲━┓',
'┠╂──┬──┴─────────┼┼─────╂──╄━┛',
'┃┃ │ ││ ┃ │ ',
'┠╂──╆━━┓ ┏━━━━┓ ││ ┌╂┰┐│ ',
'┃┃ ┗━━╃──╂────╂─┴╆━┱──┴╂┸┴┘ ',
'┃┃ │ ┃ ┃ ┃ ┃ ┃ ',
'┗┹─────┘ ┗━━━━┛ ┗━┛ ╹ ']
0 <= x < x + w < width(a)
і0 <= y < y + h < height(a)
?