Di chuyển vị trí
Đề bài
Mô tả
Đã lâu lắm rồi Cuội không chơi điện tử. Để chuẩn bị cho tinh thần thoải mái khi bước vào buổi thi lập trình tại Trại hè Hùng Vương vào ngày mai, Cuội quyết định bật máy tính lên và tham gia chơi một trò chơi.
Trên giao diện bắt đầu của trò chơi có xạ thủ được xếp thành một hàng ngang, các xạ thủ được đánh số từ đến từ trái sang phải. Phía trước các xạ thủ có một mục tiêu cần phải phá hủy.
Để nhắm vào những vị trí điểm yếu của mục tiêu, Cuội bỏ ra giây để di chuyển vị trí của các xạ thủ. Tại giây thứ () Cuội có thể thực hiện một trong thao tác sau:
- Nháy chuột trái vào xạ thủ thứ bất kỳ (), khi đó xạ thủ thứ sẽ bước sang bên trái một bước.
- Nháy chuột phải vào xạ thủ thứ bất kỳ (), khi đó xạ thủ thứ sẽ bước sang bên phải một bước.
- Không thực hiện việc gì (để cho tay nghỉ ngơi cho đỡ mỏi).
Biết rằng sau đúng giây, vị trí mới của các xạ thủ so với vị trí cũ của họ tạo thành một dãy số nguyên . Trong đó () là khoảng cách (tính bằng đơn vị bước) giữa vị trí hiện tại của xạ thủ so với vị trí ban đầu của xạ thủ . dương nếu vị trí hiện tại ở bên phải so với vị trí ban đầu, âm nếu vị trí hiện tại ở bên trái so với vị trí ban đầu. Lưu ý là tại một thời điểm hai xạ thủ khác nhau có thể đứng cùng một vị trí.
Yêu cầu: Hãy cho biết Cuội có bao nhiêu cách thực hiện việc di chuyển vị trí của các xạ thủ để được dãy như trên. Hai cách di chuyển được gọi là khác nhau nếu như tồn tại ít nhất một giây trong giây mà thao tác ở cách di chuyển này khác thao tác ở cách di chuyển kia.
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên và (; ).
- Dòng thứ hai gồm số nguyên ( với ).
Dữ liệu vào đảm bảo luôn có cách di chuyển.
Dữ liệu ra
In ra một số nguyên duy nhất là số cách di chuyển tìm được. Do số cách có thể rất lớn, hãy in ra phần dư của kết quả khi chia cho .
Ràng buộc
- , .
- với .
- Luôn tồn tại ít nhất một cách di chuyển.
Subtasks
Điểm được tính theo từng test.
- Subtask 1 ( số test): .
- Subtask 2 ( số test): .
- Subtask 3 ( số test): .
- Subtask 4 ( số test): không có ràng buộc gì thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 2 -1 1 |
2 | Kí hiệu là nháy chuột trái vào xạ thủ , là nháy chuột phải vào xạ thủ . Hai cách: và . |
| 2 3 -1 0 |
12 | Có cách chỉ dùng và hai giây nghỉ (giây làm là , hoặc ), cách dùng ( ở giây , hoặc ), và cách sắp xếp ba thao tác . Tổng cộng cách. |
Bình luận