Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <string>
- #include <algorithm>
- #include <string>
- #include <queue>
- using namespace std;
- int main()
- {
- string s;
- cin >> s;
- long long n = s.size();
- bool a[10] = {};
- long long ans = 1;
- bool ac[26] = {};
- for (long long i = 0; i < n; i++)
- {
- if (s[i] >= '0' && s[i] <= '9')
- a[s[i] - '0'] = true;
- if (s[i] == '?')
- ans *= 10 - (i == 0);
- }
- long long kk = 0;
- for (long long i = 0; i < 10; i++)
- kk += a[i];
- for (long long i = 0; i < n; i++)
- {
- if (s[i] >= 'A' && s[i] <= 'Z' && !ac[s[i] - 'A'])
- {
- ac[s[i] - 'A'] = true;
- ans *= max((long long)10 - (i == 0 && !a[0]) - kk, (long long)0);
- kk++;
- }
- }
- cout << ans;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement