301654: CF316A1. Special Task
Memory Limit:256 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Special Task
题意翻译
输入一个字符串 $s$ ,字符的范围为 $0$~$9$,$A$~$J$ 以及 “ ?”。 $A$~$J$ 表示 $0$~$9$ 中一个未知的数字,相同的字符表示的数字必须相同,不同的字符表示字符必须不同。 “ $?$” 可以表示 $0$~$9$ 中任意一个数字。 字符串 $s$ 表示的数值**第一位不能为 0**。 根据输入的字符串 $s$,输出 $s$ 能表示数值的个数。题目描述
Special Agent Smart Beaver works in a secret research department of ABBYY. He's been working there for a long time and is satisfied with his job, as it allows him to eat out in the best restaurants and order the most expensive and exotic wood types there. The content special agent has got an important task: to get the latest research by British scientists on the English Language. These developments are encoded and stored in a large safe. The Beaver's teeth are strong enough, so the authorities assured that upon arriving at the place the beaver won't have any problems with opening the safe. And he finishes his aspen sprig and leaves for this important task. Of course, the Beaver arrived at the location without any problems, but alas. He can't open the safe with his strong and big teeth. At this point, the Smart Beaver get a call from the headquarters and learns that opening the safe with the teeth is not necessary, as a reliable source has sent the following information: the safe code consists of digits and has no leading zeroes. There also is a special hint, which can be used to open the safe. The hint is string $ s $ with the following structure: - if $ s_{i} $ = "?", then the digit that goes $ i $ -th in the safe code can be anything (between $ 0 $ to $ 9 $ , inclusively); - if $ s_{i} $ is a digit (between $ 0 $ to $ 9 $ , inclusively), then it means that there is digit $ s_{i} $ on position $ i $ in code; - if the string contains letters from "A" to "J", then all positions with the same letters must contain the same digits and the positions with distinct letters must contain distinct digits. - The length of the safe code coincides with the length of the hint. For example, hint "?JGJ9" has such matching safe code variants: "51919", "55959", "12329", "93539" and so on, and has wrong variants such as: "56669", "00111", "03539" and "13666". After receiving such information, the authorities change the plan and ask the special agents to work quietly and gently and not to try to open the safe by mechanical means, and try to find the password using the given hint. At a special agent school the Smart Beaver was the fastest in his platoon finding codes for such safes, but now he is not in that shape: the years take their toll ... Help him to determine the number of possible variants of the code to the safe, matching the given hint. After receiving this information, and knowing his own speed of entering codes, the Smart Beaver will be able to determine whether he will have time for tonight's show "Beavers are on the trail" on his favorite TV channel, or he should work for a sleepless night...输入输出格式
输入格式
The first line contains string $ s $ — the hint to the safe code. String $ s $ consists of the following characters: ?, 0-9, A-J. It is guaranteed that the first character of string $ s $ doesn't equal to character $ 0 $ . The input limits for scoring 30 points are (subproblem A1): - $ 1<=|s|<=5 $ . The input limits for scoring 100 points are (subproblems A1+A2): - $ 1<=|s|<=10^{5} $ . Here $ |s| $ means the length of string $ s $ .
输出格式
Print the number of codes that match the given hint.
输入输出样例
输入样例 #1
AJ
输出样例 #1
81
输入样例 #2
1?AA
输出样例 #2
100