与えられた
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
ます。
これは、あなたが取ることができるので、入力の解析またはUnicodeのコルモゴロフ複雑性を見つけることに関するものではありません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=['┏┱─────┐ ┌┐ ┎──┲━┓',
'┠╂──┬──┴─────────┼┼─────╂──╄━┛',
'┃┃ │ ││ ┃ │ ',
'┠╂──╆━━┓ ┏━━━━┓ ││ ┌╂┰┐│ ',
'┃┃ ┗━━╃──╂────╂─┴╆━┱──┴╂┸┴┘ ',
'┃┃ │ ┃ ┃ ┃ ┃ ┃ ',
'┗┹─────┘ ┗━━━━┛ ┗━┛ ╹ ']
@tshはい、入力は有効です
—
ngn '29
ええと、私のデフォルトのフォントは怪しげです-大きくズームインしない限り、これらの文字のいくつかは間違った重さで表示されます。
—
Neil
@ニール申し訳ありません。回避策の1つは、フォントを選択できるエディターに例を貼り付けることです。
—
ngn 2017
あなたのバウンティについて-150-repバウンティを3つ授与することは不可能です。同じ質問で別の賞金を開始するたびに、担当者数を2倍にする必要があります。
—
MD XF
0 <= x < x + w < width(a)
れ0 <= y < y + h < height(a)
ますか?