Điểm:
200 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Rùa có một chuỗi ký tự \(S\) chỉ bao gồm các ký tự chữ số và ký tự ?
. Cậu sẽ thay thế mỗi ký tự ?
trong chuỗi đó bằng một trong những ký tự chữ số 0-9
, sao cho tạo thành một chuỗi mới là một số nguyên hợp lệ (không bắt đầu bằng số 0
) và cậu muốn biết là cậu có thể tạo ra bao nhiêu số nguyên tố bằng cách đó.
Input
- Chuỗi \(S\), chỉ bao gồm các ký tự chữ số và ký tự
?
. Độ dài chuỗi \(S\) không quá \(7\).
Output
- In ra một số nguyên, là số lượng số nguyên tố mà Rùa có thể tạo thành bằng cách đã mô tả.
Example
Test 1
Input
1?
Output
4
Note
Cậu có thể thế ?
bằng một trong ba ký tự 1
, 3
, 7
, 9
.
Test 2
Input
?
Output
4
Bình luận
Ý tưởng dùng sàng đánh dấu các số nguyên tố từ
1->10^7
trong mảng, sau đó dùng đệ quy tính ra tất cả các số có thể được tạo ra từ xâu sau đó kiểm tra bằng mảng đã đánh dấu \(O(1)\).độ phức tạp: sàng \(O(nloglogn)\)+tạo ra các số \(O(9^k)\) với \(k\) là số kí tự
'?'
trong mảng:)
how to sàng 10^7 số ???, thuật sàng chỉ căng nhất là 10^6 số mà nhể
how to sàng 10^7 số ???, thuật sàng chỉ căng nhất là 10^6 số mà nhể