Dany
- matryca
a
znaków zu=" ╶╺╵└┕╹┖┗╴─╼┘┴┶┚┸┺╸╾━┙┵┷┛┹┻╷┌┍│├┝╿┞┡┐┬┮┤┼┾┦╀╄┑┭┯┥┽┿┩╃╇╻┎┏╽┟┢┃┠┣┒┰┲┧╁╆┨╂╊┓┱┳┪╅╈┫╉╋"
- Współrzędne w podmatryca jak
x
,y
,w
,h
(w lewo do góry, o szerokości> 1, wysokość> 1) - grubość
t
1 (jak w┌
) lub 2 (jak w┏
)
wyrenderuj wewnętrzną ramkę dla submatrix o określonej grubości, biorąc pod uwagę istniejące linie.
x=4;y=1;w=2;h=3;t=2;
a=[' ┌───┐',
'┌┼┐ │',
'│└┼──┘',
'└─┘ ']
// output
r=[' ┌───┐',
'┌┼┐ ┏┪',
'│└┼─╂┨',
'└─┘ ┗┛']
Podczas zastępowania fragmentu linii nowa grubość powinna być większa od starej grubości i t
.
Tu nie chodzi o wejście analizowanie lub znalezienie złożoność Kołmogorowa Unicode, więc można założyć a
, u
, x
, y
, w
, h
, t
są do Państwa dyspozycji jako zmienne. Możesz także umieścić wynik w zmiennej r
zamiast go zwracać lub wyprowadzać, o ile r
jest tego samego typu co a
.
Jeśli Twój język zmusza Cię do wstawienia kodu do funkcji (C, Java, Haskell itp.), A twoje rozwiązanie składa się z jednej funkcji, możesz pominąć nagłówek i stopkę funkcji.
Większy test:
x=4;y=1;w=24;h=4;t=1;
a=['┏┱─────┐ ┌┐ ┎──┲━┓',
'┠╂─────┘ ││ ┃ ┗━┛',
'┃┃ ││ ┃ ',
'┠╂──┲━━┓ ┏━━━━┓ ││ ┌╂┰┐ ',
'┃┃ ┗━━┩ ┃ ┃ └╆━┓ └╂┸┘ ',
'┃┃ │ ┃ ┃ ┃ ┃ ┃ ',
'┗┹─────┘ ┗━━━━┛ ┗━┛ ╹ ']
// output
r=['┏┱─────┐ ┌┐ ┎──┲━┓',
'┠╂──┬──┴─────────┼┼─────╂──╄━┛',
'┃┃ │ ││ ┃ │ ',
'┠╂──╆━━┓ ┏━━━━┓ ││ ┌╂┰┐│ ',
'┃┃ ┗━━╃──╂────╂─┴╆━┱──┴╂┸┴┘ ',
'┃┃ │ ┃ ┃ ┃ ┃ ┃ ',
'┗┹─────┘ ┗━━━━┛ ┗━┛ ╹ ']
0 <= x < x + w < width(a)
i0 <= y < y + h < height(a)
?Odpowiedzi:
JavaScript, 218 bajtów
a
należy traktować jako tablicę tablicy znaków.Pokaż fragment kodu
źródło
(a,x,y,w,h,t,u)=>...
zr=...
Python 3 ,
226201197 bajtówWypróbuj online!
Nie golfowany:
źródło
(p%3,p%9//3,p%27//9,p//27)[o]
→p//3**o%3
zapisuje kilka bajtów. Następniemax(…)*3**o for
→3**o*max(…)for
zapisuje jeszcze jeden. A potem możesz wyciągnąć jeszcze jedną, wkładając3**
i przesuwając sięP
w celu indeksowaniao%5-1
, uzyskując:sum(o*max((i<n*A,j<m*B,y<j*B,x<i*A)[o%5-1]*t,p//o%3)for o in(1,3,9,27))
R=range
i sprowadzić do 201JavaScript (ES6), 174 bajty
Pokaż fragment kodu
źródło