Mục tiêu
Tạo danh sách được xáo trộn ban đầu, từ các chuyển động mà Sắp xếp chèn sẽ làm để sắp xếp nó. Danh sách ban đầu sẽ có tất cả các số từ 0
đến N-1
(bao gồm) trong đó N
kích thước của đầu vào.
Đầu vào
Một danh sách chứa các di chuyển cần thiết để sắp xếp danh sách. Mỗi giá trị đại diện cho số lượng vị trí được dịch chuyển bởi số gốc (được xáo trộn) ở vị trí bên phải của anh ấy, hãy nhớ rằng quá trình này là từ trái sang phải.
Giá trị tại vị trí (được lập chỉ mục 0) i
trong danh sách đầu vào sẽ nằm giữa 0
và i
bao gồm.
Bạn không cần xử lý các đầu vào không hợp lệ, mọi hành vi đều được chấp nhận trong trường hợp này (sự cố, vòng lặp vô hạn, v.v.).
Đầu ra
Danh sách xáo trộn
Từng bước để tạo ra các di chuyển
Scrambled List | Moves to sort
[4,0,2,1,3,5] | [0, , , , , ] #4 stay in place
[4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left
[0,4,2,1,3,5] | [0,1,1, , , ] #2 is moved 1 slot
[0,2,4,1,3,5] | [0,1,1,2, , ] #1 is moved 2 slot
[0,1,2,4,3,5] | [0,1,1,2,1, ] #3 is moved 1 slot
[0,1,2,3,4,5] | [0,1,1,2,1,0] #5 is in the right place already
[0,1,2,3,4,5]
Vì vậy, đối với đầu vào [0,1,1,2,1,0]
chương trình của bạn cần phải xuất [4,0,2,1,3,5]
.
Hãy nhớ rằng các chuyển động không đến vị trí trong danh sách được sắp xếp (cuối cùng), nhưng trong phân đoạn được sắp xếp (phần in đậm)
Các trường hợp thử nghiệm
[0,0,0] -> [0,1,2]
[0,1,0,1] -> [1,0,3,2]
[0,0,0,0,0,5] -> [1,2,3,4,5,0]
[0,1,2,3] -> [3,2,1,0]
[0,1,1,1] -> [3,0,1,2]
[0,1,1,2,1,0] -> [4,0,2,1,3,5]
Chiến thắng
Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất sẽ thắng.