Trò Xếp Cốc
Một nhà ảo thuật biểu diễn trò xếp cốc. Ban đầu có chiếc cốc đặt thành một hàng ngang. Mỗi cốc được đánh dấu bằng một số nguyên phân biệt trong khoảng từ đến — gọi số này là nhãn của cốc. Các vị trí trong hàng được đánh số từ (trái) đến (phải).
Nhà ảo thuật thực hiện thao tác. Thao tác thứ được mô tả bởi cặp với ý nghĩa: vào thời điểm thực hiện thao tác này, chiếc cốc mang nhãn đang ở vị trí trong hàng. Sau đó, nhà ảo thuật lấy chiếc cốc đó ra và đặt lên vị trí (đầu hàng); các cốc đứng phía trước nó bị đẩy lùi sang phải đơn vị. Số lượng cốc trong hàng luôn giữ nguyên là trong suốt thao tác.
Bạn được cho thứ tự thao tác. Hãy khôi phục một hoán vị nhãn ban đầu của hàng cốc sao cho khi áp dụng đúng dãy thao tác này, mọi thao tác đều phù hợp với mô tả (tức là vào thời điểm thực hiện thao tác , cốc mang nhãn thật sự đang ở vị trí ). Nếu có nhiều hoán vị thỏa mãn, in ra hoán vị nhỏ nhất theo thứ tự từ điển. Nếu không tồn tại, in ra .
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- dòng tiếp theo, dòng thứ chứa hai số nguyên và — mô tả thao tác thứ .
Dữ liệu ra
- Nếu không tồn tại hoán vị ban đầu thỏa mãn, in ra một dòng chứa .
- Ngược lại, in ra số nguyên phân biệt — nhãn của các cốc theo thứ tự từ trái sang phải trong hoán vị ban đầu (lấy hoán vị nhỏ nhất theo thứ tự từ điển).
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 1 2 1 |
2 1 | Hoán vị ban đầu . Thao tác duy nhất: cốc nhãn ở vị trí — đúng. |
| 3 2 1 2 1 1 |
2 1 3 | Hoán vị ban đầu . Thao tác 1: cốc nhãn ở vị trí , đưa lên đầu → . Thao tác 2: cốc nhãn ở vị trí — đúng. |
| 3 3 1 3 2 3 1 3 |
-1 | Không có hoán vị ban đầu nào phù hợp với cả ba thao tác. |
Bình luận