Meydan okuma açıklaması
İki boyutlu, dikdörtgen bir dizi (her alt dizisinin aynı uzunlukta olduğu anlamına gelir), bir ızgara diyelim . Bir ızgaranın her birimi boş bir alan veya kenarlıktır . Bir karakter ızgarasında, boş alan tek bir boşlukla temsil edilir; başka herhangi bir karakter kenarlık olarak kabul edilir. Örnek ızgaralar ( +
', |
' ve -
'okunabilirlik için eklenmiştir - bunlar ızgaranın bir parçası değildir ):
+----+
| |
| |
| |
| |
| |
+----+ an empty 4x5 grid
+------+
| |
| # |
| # |
+------+ a 6x3 grid with 2 borders
+----------+
| |
| |
| ##### |
| # # |
| ## # <------ enclosed area
| # # |
| ###### |
| |
+----------+ a 10x8 grid with an enclosed area
2B ızgara ve bir çift koordinat verildiğinde, koordinatları temsil eden noktayı çevreleyen kapalı alanı doldurun.
Örnek girişler / çıkışlar
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|
| | | |
| | | |
+----------------+ +----------------+
notlar
Boş bir ızgara kapalı olarak kabul edilir, yani sınırlar ızgaranın kenarları boyunca da dolaylı olarak yerleştirilir (bakınız örnek 1. ve 5.),
Kapalı bir alanın köşesinin L şeklinde olması gerekmez. Bu nedenle aşağıdaki iki alan eşdeğerdir:
#### ##
# # # #
# # == # #
# # # #
#### ##
Koordinatların altındaki bir birim bir kenarlık olursa, ızgarayı değiştirmeden bırakabilirsiniz (örnek 4'teki gibi) veya boş bir alan olarak değerlendirebilirsiniz,
Bu bilgiyi gönderiye eklediğiniz sürece dolgu / boş alan için herhangi bir karakter seçebilirsiniz,
char
Amaçlarınıza daha uygun bir tür kullanıyorsanız ,ints
(0
boş alan,1
kenarlık için) veyabooleans
(true
vefalse
sırasıyla) veya başka bir tür kullanabilirsiniz - bu bilgileri gönderiminize eklediğinizden emin olun,Yukarıdaki örneklerde kullanılan
(row, column)
koordinatlar, iki boyutlu dizi için daha uygun olduğu için 0 dizinli koordinatlardır.(column, row)
(Kartezyen) sistemi ve / veya 0 ile indekslenmemiş koordinatları kullanmak istiyorsanız , onu gönderiminizde belirtin.Nereden başlayacağınızı bilmiyorsanız , taşkın dolgu hakkındaki Wikipedia makalesine göz atın
Bunun bir kod golf meydan okuma, bu yüzden kodunuzu mümkün olduğunca kısa yapın!