verilmiş
- bir
akarakter 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, tdeğişkenler olarak size sunulmaktadır. Ayrıca, sonucu , aynı türde olduğu rsürece döndürmek veya çıktı almak yerine bir değişkene koyabilirsiniz .ra
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)?