[Buổi 11][Mảng hai chiều][RDD] Bài 1: Tấm lưới trắng đen
Tấm lưới trắng đen
Bối cảnh
Chúng ta có một lưới với \(2\) hàng ngang và \(2\) cột dọc. Mỗi ô vuông là màu đen hoặc trắng, và có ít nhất \(2\) ô vuông màu đen. Màu của các ô vuông được cho dưới dạng các chuỗi \(S_1\) và \(S_2\), như sau:
Yêu cầu
Nếu ký tự thứ \(j\) của \(S_i\) là \(#\), ô vuông ở hàng thứ \(i\) từ trên xuống và cột thứ \(j\) từ trái sang là màu đen. Nếu ký tự thứ \(j\) của \(S_i\) là \(.\), ô vuông ở hàng thứ \(i\) từ trên xuống và cột thứ \(j\) từ trái sang là màu trắng. Bạn có thể di chuyển giữa hai ô vuông màu đen khác nhau nếu và chỉ nếu chúng có chung một cạnh. Xác định xem có thể di chuyển từ mỗi ô vuông màu đen đến mỗi ô vuông màu đen khác (trực tiếp hoặc gián tiếp) chỉ bằng cách đi qua các ô vuông màu đen hay không.
Input
\(S_1\)
\(S_2\)
Output
Nếu có thể di chuyển từ mỗi ô vuông màu đen đến mỗi ô vuông màu đen, in Yes; nếu không, in No.
Ràng buộc
Mỗi chuỗi \(S_1\) và \(S_2\) là một chuỗi có hai ký tự gồm \(#\) và \(.\) \(S_1\) và \(S_2\) có tổng cộng hai hoặc nhiều hơn \(#\).
Ví dụ 1
Input
####
.#
Output
Yes
Giải thích ví dụ
Có thể di chuyển trực tiếp giữa các ô vuông màu đen ở góc trên bên trái và góc trên bên phải và giữa góc trên bên phải và góc dưới bên phải. Hai nước đi này cho phép chúng ta di chuyển từ mỗi ô vuông màu đen đến mỗi ô vuông màu đen, vì vậy câu trả lời là Yes.
Ví dụ 2
Input
.#
#### .
Output
No
Giải thích ví dụ
Ví dụ 1
Không thể di chuyển giữa các ô vuông màu đen ở góc trên bên phải và góc dưới bên trái, vì vậy câu trả lời là No.
Ví dụ 3
Input
####
.#
Giải thích ví dụ
- Các ô màu đen đều liên kết với nhau qua các cạnh, vì vậy có thể di chuyển từ bất kỳ ô màu đen nào đến bất kỳ ô màu đen nào khác.
Ví dụ 2
- Các ô màu đen không liên kết với nhau, vì vậy không thể di chuyển từ ô màu đen này đến ô màu đen kia.
.#
#### .
Thông tin học tập
- Buổi: B11
- Concepts: 2D arrays, row/column/diagonal traversal
- Giới hạn kiến thức: B01-B11
- Time limit: 1 second
- Memory limit: 125 MB
- Point: 10
Comments