Trong một hệ thống máy tính lượng tử tiên tiến, dữ liệu được lưu trữ dưới dạng một chuỗi các hạt năng lượng. Tuy nhiên, do nhiễu từ môi trường, thứ tự các hạt có thể bị xáo trộn trong quá trình truyền tải.
Bạn có:
- Một chuỗi ban đầu A
- Một chuỗi mục tiêu B
Nhiệm vụ của bạn là tái cấu trúc lại A để trở thành B, bằng cách thực hiện các thao tác hoán đổi đặc biệt.
Quy tắc thao tác Bạn được phép thực hiện thao tác sau: Một lần thao tác (cost = 1) cho phép bạn thực hiện chính xác K lần hoán đổi kề nhau Một hoán đổi kề nhau là:
- Chọn vị trí i $(1 ≤ i < N)$
- Đổi chỗ hai phần tử liền kề: A_i ↔ A_{i+1}
Nhiệm vụ Với mỗi bộ kiểm thử:
- Xác định xem có thể biến dãy A → B hay không
- Nếu có → tìm số lần thao tác nhỏ nhất
- Nếu không → in
-1