TR10_22_04
An xếp \(N\) khối đồ chơi thành một hàng và đánh số từ trái sang phải. Mỗi khối có một màu đen hoặc trắng. Bây giờ An lại muốn thay đổi sao cho các khối đồ chơi trên phải cùng một màu vì vậy anh ấy thực hiện thao tác: chọn hai khối liền kề và đảo màu của chúng (khối trắng trở thành đen và ngược lại).
Yêu cầu: Hãy giúp An tính số thao tác tối thiểu mà anh ấy phải thực hiện sao cho tất cả các khối có cùng màu. Số thao tác thực hiện không được vượt quá \(3×N\).
Input
Dòng đầu tiên chứa một số nguyên N (2≤ N ≤ 200) - số khối.
Dòng thứ hai chứa xâu \(s\) gồm N ký tự, mỗi ký tự là \(W\) hoặc \(B\). Nếu ký tự thứ \(i\) là \(W\), thì khối thứ \(i\) có màu trắng. Nếu ký tự thứ \(i\) là \(B\), thì khối thứ \(i\) có màu đen.
Output
Nếu không thể làm cho tất cả các khối có cùng màu, in ra −1. Ngược lại in ra một số nguyên \(k (0≤k≤3×N)\) - số thao tác cần thực hiện.
Sample Input
8
BWWWWWWB
Sample Output
3
Sample Input
3
BWB
Sample Output
2
Giải thích
Test 1:
Thao tác 1: Chọn khối 6 và 7 đảo màu của chúng, ta được: \(BWWWWBBB\).
Thao tác 2: Chọn khối 2 và 3 đảo màu của chúng, ta được: \(BBBWWBBB\).
Thao tác 3: Chọn khối 4 và 5 đảo màu của chúng , ta được: \(BBBBBBBB\).
Test 2:
Thao tác 1: Chọn khối 2 và 3 đảo màu của chúng, ta được: \(BBW\).
Thao tác 2: Chọn khối 1 và 2 đảo màu của chúng, ta được: \(WWW\).
Comments