Chơi với hoán vị
Đề bài
Mô tả
Cho hoán vị độ dài và một số nguyên dương .
Ban đầu trên bảng có hoán vị đồng nhất . Sau đó người chơi thực hiện đúng bước. Tại mỗi bước, người chơi tung đồng xu và làm một trong hai thao tác sau:
- Mặt sấp: thay trên bảng bằng hoán vị với (áp dụng lên ).
- Mặt ngửa: thay trên bảng bằng hoán vị thoả mãn với mọi (áp dụng lên ).
Cho hoán vị mục tiêu . Hãy xác định xem có tồn tại một dãy lần tung đồng xu sao cho:
- Sau bước thứ , hoán vị trên bảng đúng bằng .
- Trong suốt quá trình (kể từ trạng thái ban đầu và sau mỗi bước từ đến ), hoán vị trên bảng chưa từng bằng .
Dữ liệu vào
- Dòng thứ nhất chứa hai số nguyên và .
- Dòng thứ hai chứa hoán vị .
- Dòng thứ ba chứa hoán vị .
Dữ liệu ra
In ra YES nếu tình huống mô tả là khả thi, ngược lại in ra NO.
Ràng buộc
- và là các hoán vị hợp lệ của .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 1 2 3 4 1 1 2 3 4 |
NO | trùng với hoán vị ban đầu trên bảng nên đã xuất hiện trước bước thứ . |
| 4 1 4 3 1 2 3 4 2 1 |
YES | Tung mặt ngửa ở bước sẽ cho hoán vị . |
| 4 3 4 3 1 2 3 4 2 1 |
YES | Một dãy hợp lệ là sấp–ngửa–ngửa. |
| 4 2 4 3 1 2 2 1 4 3 |
YES | Sấp–sấp cho . |
| 4 1 4 3 1 2 2 1 4 3 |
NO | Không thể đạt chỉ trong bước. |
Bình luận