Opis wyzwania
Nazwijmy dwuwymiarową prostokątną tablicę (co oznacza, że każda podtablica ma tę samą długość), siatkę . Każda jednostka siatki jest pustą przestrzenią lub ramką . W siatce znaków puste miejsce jest reprezentowane przez pojedynczą białą spację; każdy inny znak jest traktowany jak obramowanie. Przykładowe Siatki ( +
„s, |
” s i -
s dodaną”dla czytelności - nie są one częścią sieci ):
+----+
| |
| |
| |
| |
| |
+----+ an empty 4x5 grid
+------+
| |
| # |
| # |
+------+ a 6x3 grid with 2 borders
+----------+
| |
| |
| ##### |
| # # |
| ## # <------ enclosed area
| # # |
| ###### |
| |
+----------+ a 10x8 grid with an enclosed area
Biorąc pod uwagę siatkę 2D i parę współrzędnych, wypełnij zamknięty obszar otaczający punkt reprezentowany przez współrzędne.
Przykładowe wejścia / wyjścia
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|
| | | |
| | | |
+----------------+ +----------------+
Notatki
Pusta siatka jest uważana za zamkniętą, tzn. Granice są również domyślnie umieszczone wzdłuż krawędzi siatki (patrz przykłady 1. i 5.),
Narożnik zamkniętego obszaru nie musi mieć kształtu litery L. Następujące dwa obszary są zatem równoważne:
#### ##
# # # #
# # == # #
# # # #
#### ##
Jeśli jednostka pod współrzędnymi stanie się ramką, możesz pozostawić siatkę bez zmian (jak w przykładzie 4) lub potraktować ją jako puste miejsce,
Możesz wybrać dowolny znak do wypełnienia / pustej przestrzeni, o ile podasz te informacje w formularzu
Jeśli używasz innego typu niż
char
najlepiej pasuje do twoich celów, możesz użyćints
(0
dla pustej przestrzeni,1
dla obramowania) lubbooleans
(true
ifalse
odpowiednio) lub dowolnego innego typu - pamiętaj tylko o umieszczeniu tych informacji w swoim zgłoszeniu,Współrzędne użyte w powyższych przykładach są
(row, column)
współrzędnymi 0-indeksowanymi , ponieważ jest to wygodniejsze w przypadku układu dwuwymiarowego. Jeśli chcesz użyć(column, row)
(kartezjańskiego) układu i / lub współrzędnych nieindeksowanych, podaj go w swoim zgłoszeniu.Jeśli nie wiesz, od czego zacząć, zapoznaj się z artykułem Wikipedii na temat wypełniania powodzi
Pamiętaj, że to jest golf-golf wyzwanie, więc ustaw swój kod tak krótko, jak to możliwe!