Mô tả thử thách
Chúng ta hãy gọi một mảng hai chiều, hình chữ nhật (có nghĩa là mọi phân đoạn của nó có cùng độ dài), một lưới . Mỗi đơn vị của lưới là một không gian trống hoặc một đường viền . Trong một lưới các ký tự, không gian trống được biểu thị bằng một khoảng trắng duy nhất; bất kỳ nhân vật khác được coi là một biên giới. Lưới mẫu ( +
's, |
' s và -
's gia tăng đối với khả năng đọc - chúng không phải là một phần của lưới điện ):
+----+
| |
| |
| |
| |
| |
+----+ an empty 4x5 grid
+------+
| |
| # |
| # |
+------+ a 6x3 grid with 2 borders
+----------+
| |
| |
| ##### |
| # # |
| ## # <------ enclosed area
| # # |
| ###### |
| |
+----------+ a 10x8 grid with an enclosed area
Cho một lưới 2D và một cặp tọa độ, điền vào vùng kín xung quanh điểm được biểu thị bằng tọa độ.
Đầu vào / đầu ra mẫu
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|
| | | |
| | | |
+----------------+ +----------------+
Ghi chú
Một lưới trống được coi là kèm theo, tức là các đường viền được đặt hoàn toàn dọc theo các cạnh của lưới (xem ví dụ 1. và 5.),
Một góc của một khu vực kín không cần phải có hình chữ L. Hai lĩnh vực sau đây là tương đương nhau:
#### ##
# # # #
# # == # #
# # # #
#### ##
Nếu một đơn vị dưới tọa độ xảy ra là một đường viền, bạn có thể giữ lưới không thay đổi (như trong ví dụ 4.) hoặc coi nó là một khoảng trống,
Bạn có thể chọn bất kỳ ký tự nào cho filler / khoảng trống miễn là bạn bao gồm thông tin này trong bài gửi,
Nếu sử dụng một loại khác không
char
phù hợp với mục đích của bạn hơn, bạn có thể sử dụngints
(0
cho không gian trống,1
cho đường viền) hoặcbooleans
(true
vàfalse
tương ứng) hoặc bất kỳ loại nào khác - chỉ cần đảm bảo đưa thông tin này vào trình của bạn,Các tọa độ được sử dụng trong các ví dụ ở trên là
(row, column)
tọa độ 0 được lập chỉ mục , vì nó thuận tiện hơn cho mảng hai chiều. Nếu bạn muốn sử dụng(column, row)
hệ thống (cartesian) và / hoặc tọa độ không có chỉ số 0, hãy chỉ định nó trong bài gửi của bạn.Nếu bạn không biết bắt đầu từ đâu, hãy xem bài viết trên Wikipedia về lũ lụt
Hãy nhớ rằng đây là một thử thách chơi gôn , vì vậy hãy viết mã của bạn càng ngắn càng tốt!