Xáo Bài Bessie
Đề bài
Mô tả
Có một bộ bài lá được đánh số đến theo thứ tự từ trên xuống dưới. Cho một hoán vị gồm phần tử mô tả thao tác xáo bài: lá bài ở vị trí trong nhóm lá trên cùng sẽ chuyển sang vị trí .
Thực hiện thao tác sau lặp đi lặp lại cho đến khi bộ bài còn ít hơn lá:
- Xáo lá trên cùng theo hoán vị .
- Lấy lá bài trên cùng ra và úp xuống (xây một chồng bài mặt-xuống).
Sau đó, các lá bài còn lại trong bộ bài được úp xuống từng lá một (từ trên xuống).
Chồng bài mặt-xuống sau khi hoàn thành: vị trí là lá trên cùng (lá úp xuống cuối cùng), vị trí là lá dưới cùng (lá úp xuống đầu tiên).
Cho truy vấn, mỗi truy vấn hỏi lá bài ở vị trí trong chồng bài cuối cùng.
Dữ liệu vào
- Dòng 1: Ba số nguyên , , .
- dòng tiếp theo: Số nguyên — mỗi dòng một giá trị.
- dòng tiếp theo: Số nguyên — vị trí truy vấn.
Dữ liệu ra
- dòng, mỗi dòng là nhãn của lá bài tại vị trí trong chồng bài cuối cùng.
Ràng buộc
- (hoán vị hợp lệ)
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 3 5 3 1 2 1 2 3 4 5 |
4 5 3 1 2 |
Bộ bài ban đầu: [1,2,3,4,5]. Xáo lần 1: [1,2,3] → [2,3,1], lấy lá 2. Xáo lần 2: [3,1,4] → [1,4,3], lấy lá 1. Xáo lần 3: [4,3,5] → [3,5,4], lấy lá 3. Còn lại [5,4] úp xuống. Chồng cuối (trên→dưới): [4,5,3,1,2]. |
Ghi chú
- Số lần xáo bài là , sau đó còn lại lá được úp xuống.
- Vị trí đến tương ứng với lá cuối úp xuống (theo thứ tự ngược).
- Vị trí đến là các lá bị lấy ra trong các lần xáo (theo thứ tự từ gần nhất đến xa nhất).
Bình luận