Tô loang
Đề bài
Mô tả
Cho một dãy gồm ô vuông xếp thành hàng, đánh số từ đến từ trái sang phải. Ô thứ ban đầu có màu .
Hai ô và (với ) được gọi là thuộc cùng một thành phần liên thông nếu tất cả các ô trên đoạn từ đến có cùng màu, tức là và với mọi thỏa . Nói cách khác, một thành phần liên thông là một đoạn tối đại các ô liên tiếp cùng màu. Ví dụ, dãy có thành phần liên thông, còn dãy có thành phần liên thông.
Trò chơi "tô loang" (flood fill) diễn ra như sau:
- Ban đầu, bạn chọn một ô xuất phát bất kỳ (bước chọn này không được tính là một lượt).
- Ở mỗi lượt, bạn đổi màu của toàn bộ thành phần liên thông đang chứa ô xuất phát sang một màu bất kỳ khác.
Khi một thành phần liên thông đổi màu và trở nên trùng màu với các thành phần liền kề, chúng sẽ hợp nhất thành một thành phần lớn hơn (vẫn chứa ô xuất phát).
Hãy tìm số lượt tối thiểu cần thực hiện để toàn bộ dãy trở thành một màu duy nhất.
Dữ liệu vào
- Dòng đầu chứa số nguyên : số lượng ô.
- Dòng thứ hai chứa số nguyên : màu ban đầu của các ô.
Dữ liệu ra
- In ra một số nguyên duy nhất: số lượt tối thiểu cần thiết.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 5 2 2 1 |
2 | Chọn ô số làm ô xuất phát, sau đó: . |
| 8 4 5 2 2 1 3 5 5 |
4 | Chọn ô số làm ô xuất phát rồi lần lượt tô thành các màu . |
| 1 4 |
0 | Dãy đã chỉ có một màu nên không cần lượt nào. |
Bình luận