Bài tập
Cho sơ đồ ASCII của một vòng lặp
ví dụ
....................
......@@@@@.........
......@...@.........
.....@@...@@@@@.....
....@@........@.....
....@........@@.....
....@@@@@@@@@@......
....................
....................
Và một vị trí trên vòng lặp
ví dụ
(7,1)
Bạn phải tìm bên trong và bên ngoài vòng lặp
ví dụ
00000000000000000000
00000011111000000000
00000011111000000000
00000111111111100000
00001111111111100000
00001111111111100000
00001111111111000000
00000000000000000000
00000000000000000000
Thông số kỹ thuật
Bạn có thể lấy đầu vào cho sơ đồ dưới dạng một chuỗi được phân tách bằng dòng mới hoặc tương đương rõ ràng
Bạn sẽ nhận được tọa độ trên vòng lặp (0 hoặc 1 được lập chỉ mục) như là một phần của đầu vào của bạn. Bạn có thể đặt nguồn gốc của bạn tại bất cứ nơi nào bạn muốn. Bạn có thể thực hiện việc này phối hợp
(<row>, <column>)
,(<column>, <row>)
hoặc là vị trí tuyến tính trên chuỗi. Bạn có thể nhận được những dữ liệu này trong bất kỳ phương pháp hợp lý. Tất cả các ký tự trên vòng lặp sẽ giống với ký tự tại chỉ mục đó.Đầu ra ưa thích là một mảng 2 chiều của các giá trị trung thực và giả, tuy nhiên các chuỗi
1
và được0
phân tách bằng các dòng mới hoặc bất kỳ tương đương rõ ràng nào của hai giá trị sau được chấp nhận. Bên trong và bên ngoài phải có các giá trị thật khác nhau nhưng không quan trọng cái nào là cái nào.Một vòng lặp được định nghĩa là một nhóm các ký tự sao cho chúng đều là cùng một ký tự ( ví dụ
@
) và do đó mọi ký tự trong vòng lặp đều có đường dẫn đến ký tự gốc (Ký tự ở tọa độ đầu vào) chỉ đi qua cùng một ký tự ký tự (hình học Taxicab Không có đường chéo ).Bên trong là tất cả các vòng lặp và các vị trí không thể chạm tới cạnh của sơ đồ mà không vượt qua vòng lặp.
Bên ngoài là mọi nơi khác
Đây là môn đánh gôn
Các trường hợp thử nghiệm
[['.', '.'],['.', '@']]
thay vì một chuỗi với dòng mới?