Khối chữ số modulo
Nộp bài giải
Điểm:
7,00 (OI)
Giới hạn thời gian:
2.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Dạng bài
Ngôn ngữ cho phép
Assembly, C#, C++, D, Dart, Go, Groovy, Java, Javascript, Kotlin, Lua, Nim, ObjC, Pascal, Perl, PHP, Pike, Python, Ruby, Rust, Scratch, Typescript, Zig
Cho khối, mỗi khối chứa cùng chữ số (nằm trong khoảng đến ) được cho trong dữ liệu vào.
Bạn phải chọn đúng một chữ số từ mỗi khối, rồi ghép các chữ số đã chọn theo thứ tự khối thành một số nguyên lớn. Hãy đếm số cách chọn sao cho số nguyên thu được chia dư đúng . Vì kết quả có thể rất lớn, hãy in nó theo modulo .
Hai cách chọn được coi là khác nhau nếu tại một khối nào đó, vị trí của chữ số được chọn trong khối là khác nhau (kể cả khi giá trị của chữ số trùng nhau). Ví dụ, khối có ba cách chọn chữ số (vì chữ số xuất hiện ba lần).
Dữ liệu vào
- Dòng đầu chứa bốn số nguyên , , , cách nhau bởi dấu cách.
- Dòng thứ hai chứa số nguyên — các chữ số trong mỗi khối.
Dữ liệu ra
In ra một số nguyên duy nhất: số cách chọn thoả mãn, lấy modulo .
Ràng buộc
- ,
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 2 1 2 3 1 2 |
6 | Các số có thể tạo ra: . Cả số đều chia dư . |
| 3 2 1 2 6 2 2 |
0 | Các số đều chẵn nên không chia dư . |
| 12 1 5 10 3 5 6 7 8 9 5 1 1 1 1 5 |
3 | Chỉ có khối, ta cần chọn chữ số chia dư — đó là chữ số . Chữ số xuất hiện lần. |
Bình luận