Trò chơi chia chu trình (Spider Nim)
Đề bài
Mô tả
Hai người chơi luân phiên thực hiện nước đi trên một tập hợp các chu trình. Ban đầu tập hợp rỗng. Trong nước đi của mình, người chơi phải chọn một chu trình có ít nhất đỉnh (giả sử chu trình đó có đỉnh) và thay nó bằng hai chu trình có và đỉnh, với do người chơi tự chọn. Ai không thể đi được thì thua.
Bạn cần xử lý truy vấn. Truy vấn thứ thêm vào tập hợp một chu trình có đỉnh (tập hợp này là multiset — có thể chứa các chu trình giống nhau). Sau mỗi truy vấn, hãy cho biết nếu bắt đầu chơi với tập hợp hiện tại thì ai sẽ thắng, giả sử cả hai người chơi tối ưu và người chơi thứ nhất đi trước.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên — số truy vấn.
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
In ra dòng. Dòng thứ in nếu người chơi thứ nhất thắng sau truy vấn thứ , ngược lại in .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 1 2 3 |
2 1 1 |
Sau truy vấn 1, chỉ có 1 chu trình kích thước — người 1 không đi được, thua. Sau truy vấn 2, người 1 chia chu trình thành hai chu trình ; người 2 không đi được. Sau truy vấn 3, người 1 chia chu trình thành và rồi thắng tương tự. |
| 5 1 1 5 1 1 |
2 2 2 2 2 |
Các chu trình kích thước không thể chia. Sau truy vấn 3, chỉ có một chu trình kích thước là chia được; phân tích cho thấy người 1 luôn thua dù chọn cách chia nào. |
Bình luận