852B - Neural Network country
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 512 megabyte
Đăng bởi: admin

Do sự phổ biến gần đây của Deep learning các quốc gia mới đang bắt đầu trông giống như mạng thần kinh. Đó là, các nước đang được xây dựng với nhiều lớp, mỗi lớp có thể có nhiều thành phố. Mỗi nước cũng có một điểm đầu và một điểm cuối.

Mỗi nước có chính xác L lớp, mỗi lớp có N thành phố. Quan sát hai lớp kề nhau L1 và L2. Mỗi thành phố thuộc lớp L1 được nối với một thành phố thuộc lớp L2 với một chi phí di chuyển là cij  với mọi i, j thuộc {1, 2, ..., N} và mỗi cặp lớp lân cận có cùng chi phí ở giữa các thành phố của chúng với nhau như bất kỳ cặp nào khác. Chi phí di chuyển của mọi thành phố thuộc lớp L1 đến một thành phố thuộc lớp L2 là giống nhau, nghĩa là cij là như nhau với mọi i thuộc {1, 2, ..., N} và j cố định.

Yêu cầu: Tìm số lượng đường đi để một người bắt đầu đi tại điểm đầu và kết thúc tại điểm cuối sao cho chi phí đi lại của người đó có thể chia hết cho số M cho trước.

Dữ liệu

Dòng đầu chứa số N (1 ≤ N ≤ 106), L (2 ≤ L ≤ 105) và M (2 ≤ M ≤ 100), là số lượng thành phố trong từng lớp, số lượng lớp và số M là chi phí của đường đi cần phải chia hết.

Dòng thứ hai, ba, bốn chứa N số nguyên (mỗi số biểu thị chi phí di chuyển cost mà 0 ≤ cost ≤ M) lần lượt là chi phí tới lớp đầu tiên, chi phí giữa hai lớp kề nhau như mô tả ở trên và chi phí từ lớp cuối cùng tới điểm kết thúc.

Kết quả

Chứa một số nguyên là số lượng đường đi mà tổng chi phí chia hết cho M, modulo 109 + 7.

Ví dụ

Input 

2 3 13 
4 6
2 1
3 4

Output

2

Đây là một đất nước có 3 lớp, mỗi lớp có 2 thành phố. Chỉ có hai đường đi 6 → 2 → 2 → 3 và 6 → 2 → 1 → 4 có tổng chi phí chia hết cho 13. Chú ý các cạnh đầu vào cho các thành phố trong một lớp có chi phí như nhau, và giống nhau cho tất cả các lớp.


Nguồn: https://codeforces.com/contest/852/problem/B

Back to Top