Vest và Cà vạt
Đề bài
Mô tả
Có người xếp thành một hàng, tạo thành cặp. Mỗi người thuộc đúng một cặp, và trong hàng có số , trong đó với mỗi () giá trị xuất hiện đúng hai lần: hai vị trí mang cùng một giá trị là hai người thuộc cùng một cặp.
Mỗi thao tác cho phép đổi chỗ hai người đứng cạnh nhau (hai vị trí liền kề trong hàng). Hãy tìm số thao tác ít nhất cần thực hiện sao cho hai người của mỗi cặp đứng cạnh nhau trong hàng.
Dữ liệu vào
- Dòng đầu chứa số nguyên — số cặp.
- Dòng thứ hai chứa số nguyên , mô tả hàng người ban đầu.
Dữ liệu ra
- In ra một số nguyên duy nhất — số lần đổi chỗ hai vị trí liền kề ít nhất cần thiết.
Ràng buộc
- Với mỗi (), giá trị xuất hiện đúng hai lần trong dãy.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 1 1 2 3 3 2 4 4 |
2 | 1 1 2 3 3 2 4 4 → 1 1 2 3 2 3 4 4 → 1 1 2 2 3 3 4 4, tốn 2 lần đổi chỗ. |
| 3 1 1 2 2 3 3 |
0 | Mọi cặp đã đứng cạnh nhau, không cần thao tác nào. |
| 3 3 1 2 3 1 2 |
3 | Cần ít nhất 3 lần đổi chỗ hai vị trí liền kề. |
Bình luận