Lớp học khiêu vũ
Đề bài
Mô tả
Có người đang tham gia lớp học khiêu vũ, xếp thành một hàng ngang từ trái sang phải. Mỗi người là nam (ký hiệu B) hoặc nữ (ký hiệu G), và có một chỉ số kỹ năng khiêu vũ .
Quá trình ghép cặp diễn ra như sau, lặp lại chừng nào trong hàng vẫn còn ít nhất một cặp gồm một nam và một nữ đứng cạnh nhau:
- Trong tất cả các cặp nam–nữ đứng liền kề nhau trong hàng hiện tại, chọn cặp có chênh lệch kỹ năng nhỏ nhất (chênh lệch là giá trị tuyệt đối của hiệu hai chỉ số kỹ năng).
- Nếu có nhiều cặp cùng chênh lệch nhỏ nhất, chọn cặp nằm bên trái nhất.
- Cặp được chọn rời khỏi hàng để đi khiêu vũ. Sau đó hàng khép lại (những người còn lại vẫn giữ nguyên thứ tự tương đối).
Hãy xác định các cặp lần lượt rời hàng và thứ tự chúng rời đi.
Dữ liệu vào
- Dòng đầu chứa số nguyên — số người.
- Dòng thứ hai chứa ký tự B hoặc G (không có dấu cách), ký tự thứ cho biết giới tính người thứ .
- Dòng thứ ba chứa số nguyên — chỉ số kỹ năng của từng người, theo thứ tự từ trái sang phải.
Dữ liệu ra
- Dòng đầu in ra số cặp đã rời hàng.
- dòng tiếp theo, mỗi dòng in hai số là chỉ số của hai người trong một cặp. Các người được đánh số từ đến theo thứ tự ban đầu từ trái sang phải; không đánh số lại khi có cặp rời đi. Hai số trong mỗi cặp in theo thứ tự tăng dần. Các cặp in theo đúng thứ tự chúng rời hàng.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 BGBG 4 2 4 3 |
2 3 4 1 2 |
Các cặp nam–nữ liền kề: (1,2) chênh 2, (2,3) chênh 2, (3,4) chênh 1. Nhỏ nhất là (3,4) → rời trước. Còn lại hàng 1,2 tạo cặp (1,2) chênh 2 → rời tiếp. |
| 4 BGBB 1 1 2 3 |
1 1 2 |
Chỉ có cặp nam–nữ liền kề là (1,2). Sau khi họ rời đi, còn lại BB nên không còn cặp nào. |
| 4 BBGG 4 6 1 5 |
2 2 3 1 4 |
Cặp nam–nữ liền kề duy nhất ban đầu là (2,3) chênh 5 → rời trước. Hàng khép lại còn người 1 và 4 đứng cạnh nhau (BG) chênh 1 → rời tiếp. |
Bình luận