verilmiş
- bir
a
karakter matrisiu=" ╶╺╵└┕╹┖┗╴─╼┘┴┶┚┸┺╸╾━┙┵┷┛┹┻╷┌┍│├┝╿┞┡┐┬┮┤┼┾┦╀╄┑┭┯┥┽┿┩╃╇╻┎┏╽┟┢┃┠┣┒┰┲┧╁╆┨╂╊┓┱┳┪╅╈┫╉╋"
- gibi bir submatrix koordinatları
x
,y
,w
,h
(sol, üst genişlik> 1, yükseklik> 1) - bir kalınlık
t
(olduğu gibi 1┌
) veya 2'de (olduğu gibi┏
)
varolan çizgileri dikkate alarak alt kalınlık için belirtilen kalınlıkta bir iç kenarlık oluşturun.
x=4;y=1;w=2;h=3;t=2;
a=[' ┌───┐',
'┌┼┐ │',
'│└┼──┘',
'└─┘ ']
// output
r=[' ┌───┐',
'┌┼┐ ┏┪',
'│└┼─╂┨',
'└─┘ ┗┛']
Bir çizgi parçasının üzerine yazarken, yeni kalınlık eski kalınlıktan daha büyük olmalıdır t
.
Bu Takdir edersiniz ki bu yüzden, giriş ayrıştırma veya Unicode Kolmogorov karmaşıklığı bulma konusunda değil a
, u
, x
, y
, w
, h
, t
değişkenler olarak size sunulmaktadır. Ayrıca, sonucu , aynı türde olduğu r
sürece döndürmek veya çıktı almak yerine bir değişkene koyabilirsiniz .r
a
Diliniz sizi işlevlere (C, Java, Haskell, vb.) Kod koymaya zorlarsa ve çözümünüz tek bir işlevden oluşuyorsa, işlev üstbilgi ve altbilgisini atlayabilirsiniz.
Daha büyük test:
x=4;y=1;w=24;h=4;t=1;
a=['┏┱─────┐ ┌┐ ┎──┲━┓',
'┠╂─────┘ ││ ┃ ┗━┛',
'┃┃ ││ ┃ ',
'┠╂──┲━━┓ ┏━━━━┓ ││ ┌╂┰┐ ',
'┃┃ ┗━━┩ ┃ ┃ └╆━┓ └╂┸┘ ',
'┃┃ │ ┃ ┃ ┃ ┃ ┃ ',
'┗┹─────┘ ┗━━━━┛ ┗━┛ ╹ ']
// output
r=['┏┱─────┐ ┌┐ ┎──┲━┓',
'┠╂──┬──┴─────────┼┼─────╂──╄━┛',
'┃┃ │ ││ ┃ │ ',
'┠╂──╆━━┓ ┏━━━━┓ ││ ┌╂┰┐│ ',
'┃┃ ┗━━╃──╂────╂─┴╆━┱──┴╂┸┴┘ ',
'┃┃ │ ┃ ┃ ┃ ┃ ┃ ',
'┗┹─────┘ ┗━━━━┛ ┗━┛ ╹ ']
0 <= x < x + w < width(a)
ve0 <= y < y + h < height(a)
?