Опис виклику
Назвемо двовимірний прямокутний масив (означає, що кожен його масив має однакову довжину), сітку . Кожна одиниця сітки - це порожній простір або межа . У сітці символів порожній простір представлений єдиним пробілом; будь-який інший персонаж трактується як кордон. Зразки сіток ( +
's, |
' і та -
додані для читабельності - вони не є частиною сітки ):
+----+
| |
| |
| |
| |
| |
+----+ an empty 4x5 grid
+------+
| |
| # |
| # |
+------+ a 6x3 grid with 2 borders
+----------+
| |
| |
| ##### |
| # # |
| ## # <------ enclosed area
| # # |
| ###### |
| |
+----------+ a 10x8 grid with an enclosed area
Давши 2D сітку і пару координат, заповніть додану область, що оточує точку, представлену координатами.
Зразки входів / виходів
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.),
Куточок закритої ділянки не повинен бути Г-подібним. Наступні дві області є рівнозначними:
#### ##
# # # #
# # == # #
# # # #
#### ##
Якщо одиниця під координатами є кордоном, ви можете залишити сітку незмінною (як у прикладі 4.) або розглянути її як порожній простір,
Ви можете обрати будь-який символ для заповнення / порожнього місця, якщо ви включите цю інформацію у подання,
Якщо ви використовуєте тип, який не
char
відповідає вашим цілям, ви можете використовуватиints
(0
для порожнього простору,1
для кордону) абоbooleans
(true
іfalse
відповідно) або будь-який інший тип - просто обов’язково включіть цю інформацію у ваше подання,Координати, які використовуються у наведених вище прикладах, є 0-індексованими
(row, column)
координатами, оскільки це зручніше для двовимірного масиву. Якщо ви хочете використовувати(column, row)
(декартову) систему та / або неіндексовані координати, вкажіть це у своєму поданні.Якщо ви не знаєте, з чого почати, перегляньте статтю Вікіпедії про заливку
Пам'ятайте, що це a код-гольф киньте виклик, тому зробіть свій код якомога коротшим!