Trò chơi đảo khối
Đề bài
Mô tả
Có khối xếp thành một hàng, đánh số từ đến từ trái sang phải. Mỗi khối có màu trắng (W) hoặc đen (B).
Bạn được phép thực hiện thao tác sau không quá lần: chọn hai khối kề nhau và đảo màu cả hai khối đó (trắng thành đen, đen thành trắng).
Hãy tìm một dãy thao tác sao cho sau khi thực hiện, tất cả các khối có cùng một màu. Bạn không cần cực tiểu số thao tác, nhưng số thao tác không được vượt quá . Nếu không tồn tại dãy thao tác như vậy, hãy báo là không thể.
Dữ liệu vào
- Dòng đầu chứa số nguyên , số lượng khối.
- Dòng thứ hai chứa xâu gồm ký tự, mỗi ký tự là W hoặc B. Nếu ký tự thứ là W thì khối thứ màu trắng, nếu là B thì màu đen.
Dữ liệu ra
- Nếu không thể làm cho tất cả các khối cùng màu, in ra .
- Ngược lại, in ra một số nguyên ( ), số thao tác. Sau đó in ra số nguyên ( ), trong đó là vị trí của khối bên trái trong cặp khối được đảo màu ở thao tác thứ .
Nếu có nhiều đáp án, in ra một đáp án bất kỳ.
Ràng buộc
- gồm đúng ký tự, mỗi ký tự là W hoặc B.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 8 BWWWWWWB |
3 2 4 6 |
Đảo cặp (2,3): BBBWWWWB. Đảo cặp (4,5): BBBBBWWB. Đảo cặp (6,7): BBBBBBBB. Tất cả đều đen. |
| 3 BWB |
2 1 2 |
Đảo cặp (1,2): WBB. Đảo cặp (2,3): WWW. Tất cả đều trắng. |
| 4 BWBB |
-1 | Không thể làm cho tất cả cùng màu. |
| 5 WWWBB |
1 4 |
Đảo cặp (4,5): WWWWW. |
Bình luận