チャレンジの説明
グリッドを 2次元の長方形配列(すべてのサブ配列が同じ長さであることを意味します)と呼びましょう。グリッドのすべての単位は、空のスペースまたは境界線です。文字のグリッドでは、空のスペースは1つの空白で表されます。他の文字はすべてボーダーとして扱われます。サンプルグリッド(+
さん、|
さんと-
読みやすさのために追加の- 彼らは、グリッドの一部ではありません):
+----+
| |
| |
| |
| |
| |
+----+ an empty 4x5 grid
+------+
| |
| # |
| # |
+------+ a 6x3 grid with 2 borders
+----------+
| |
| |
| ##### |
| # # |
| ## # <------ enclosed area
| # # |
| ###### |
| |
+----------+ a 10x8 grid with an enclosed area
2Dグリッドと1組の座標を指定して、座標で表される点を囲む囲まれた領域を塗りつぶします。
入力/出力のサンプル
1)
0 0
+----------+ +----------+
| | |XXXXXXXXXX|
| | -> |XXXXXXXXXX|
| | |XXXXXXXXXX|
+----------+ +----------+
2)
6 5
+-----------------+ +-----------------+
| | | |
| | | |
| ######## | | ######## |
| # # | | #XXXXXXX# |
| # #### | | #XXXX#### |
| # # | | #XXXX# |
| # # | -> | #XXXX# |
| # # | | #XXXX# |
| #### | | #### |
| | | |
| | | |
+-----------------+ +-----------------+
3)
4 6
+-----------------+ +-----------------+
| | |XXXXXXXXXXXXXXXXX|
| #### | |XXXX####XXXXXXXXX|
| # # | -> |XXX# #XXXXXXXX|
| #### | |XXXX####XXXXXXXXX|
| | |XXXXXXXXXXXXXXXXX|
+-----------------+ +-----------------+
4)
4 5
+-----------------+ +-----------------+ +-----------------+
| | | | | |
| | | | | |
| #### | | #### | | XXXX |
| #### | -> | #### | or | XXXX |
| #### | | #### | | XXXX |
| | | | | |
+-----------------+ +-----------------+ +-----------------+
5)
2 6
+----------------+ +----------------+
| | |XXXXXXXXXXXXXXXX|
| | |XXXXXXXXXXXXXXXX|
| | |XXXXXXXXXXXXXXXX|
| | -> |XXXXXXXXXXXXXXXX|
| | |XXXXXXXXXXXXXXXX|
|BBBBBBBBBBBBBBBB| |BBBBBBBBBBBBBBBB|
| | | |
| | | |
+----------------+ +----------------+
ノート
空のグリッドは囲まれていると見なされます。つまり、境界線もグリッドのエッジに沿って暗黙的に配置されます(例1および5を参照)。
囲まれた領域のコーナーはL字型である必要はありません。したがって、次の2つの領域は同等です。
#### ##
# # # #
# # == # #
# # # #
#### ##
座標の下のユニットが境界線である場合は、グリッドを変更せずにそのままにするか(例4のように)、空のスペースとして扱います。
送信にこの情報を含める限り、フィラー/空のスペースに任意の文字を選択できます。
char
目的に適したタイプ以外のタイプを使用する場合は、ints
(0
空のスペース、1
境界線)またはbooleans
(true
およびfalse
それぞれ)またはその他のタイプを使用できます。提出物にこの情報を含めるようにしてください。上記の例で使用されている
(row, column)
座標は、2次元配列の方が便利なので、0インデックスの座標です。あなたが使用したい場合(column, row)
(デカルト)システムおよび/または非0 -インデックス付きの座標を、あなたの提出でそれを指定します。どこから始めればよいかわからない場合は、洪水補給に関するWikipediaの記事を確認してください。
これはコードゴルフの課題であることを忘れないでください。コードをできるだけ短くしてください!