Hành trình xuyên không gian

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài

Năm 2387. Hệ thống cảng dịch chuyển lượng tử liên sao gồm ~m~ trạm đánh số ~0~ đến ~m-1~, kết nối thành một vòng định hướng. Do giới hạn băng thông của đường hầm không-thời gian, từ trạm ~i~, một con tàu chỉ có thể dịch chuyển đến trạm ~(i + d) \bmod m~ với ~d \in \{1, 2, \ldots, k\}~ -- tức là tiến về phía trước từ ~1~ đến ~k~ bước theo chiều kim đồng hồ trên vòng.

Nhà vật lý hàng hải Euler Nakamoto cần kiểm toán hệ thống: có bao nhiêu chuỗi hành trình phân biệt gồm đúng ~n~ lần dịch chuyển, xuất phát từ trạm ~s~ và kết thúc tại trạm ~t~?

Phương án liệt kê trực tiếp rõ ràng không khả thi khi ~n~ lên tới ~10^{18}~. Euler Nakamoto biết rằng ẩn sau bài toán tồn tại một cấu trúc đại số sâu hơn -- nhưng tìm và khai thác nó là nhiệm vụ của bạn.

Đầu vào

Một dòng duy nhất chứa năm số nguyên ~m~, ~k~, ~n~, ~s~, ~t~.

Đầu ra

In ra một số nguyên duy nhất -- số chuỗi hành trình hợp lệ, lấy phần dư khi chia cho ~10^9 + 7~.

Giới hạn

  • ~2 \le m \le 100~
  • ~1 \le k \le m - 1~
  • ~1 \le n \le 10^{18}~
  • ~0 \le s, t \le m - 1~

Chấm điểm

  • Sub1: ~n \le 10^4~, ~m \le 6~, ~k = 1~
  • Sub2: ~n \le 10^6~, ~m \le 10~, ~k \le 4~
  • Sub3: ~n \le 10^{18}~, ~m \le 5~, ~k \le m - 1~
  • Sub4: ~n \le 10^{18}~, ~m \le 30~, ~k \le m - 1~

Ví dụ 1

Đầu vào
5 2 3 0 0
Đầu ra
3
Giải thích

Với ~m = 5~, ~k = 2~, từ mỗi trạm có thể nhảy ~+1~ hoặc ~+2~ (modulo ~5~). Cần tìm số chuỗi bước nhảy ~(d_1, d_2, d_3)~ với mỗi ~d_i \in \{1, 2\}~ sao cho ~d_1 + d_2 + d_3 \equiv 0 \pmod{5}~.

Tổng ba bước có thể là ~3, 4, 5, 6~. Chỉ tổng ~5~ chia hết cho ~5~, ứng với đúng ba chuỗi:

Chuỗi bước Hành trình
~(1, 2, 2)~ ~0 \to 1 \to 3 \to 0~
~(2, 1, 2)~ ~0 \to 2 \to 3 \to 0~
~(2, 2, 1)~ ~0 \to 2 \to 4 \to 0~

Ví dụ 2

Đầu vào
4 2 6 1 3
Đầu ra
16

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.