Данный
- матрица
aсимволов изu=" ╶╺╵└┕╹┖┗╴─╼┘┴┶┚┸┺╸╾━┙┵┷┛┹┻╷┌┍│├┝╿┞┡┐┬┮┤┼┾┦╀╄┑┭┯┥┽┿┩╃╇╻┎┏╽┟┢┃┠┣┒┰┲┧╁╆┨╂╊┓┱┳┪╅╈┫╉╋" - координаты подматрицы , как
x,y,w,h(слева, сверху, ширина> 1, высота> 1) - толщина
t1 (как в┌) или 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)?