Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define endl '\n'
- int p[11];
- int n,k;
- map<int,long long> mp[11];
- int main( void ) {
- string s;
- cin >> n >> s;
- k = (int)s.size();
- for (int i = 0; i < k; i++) {
- p[i] = (int)(s[i]-'0');
- mp[0][p[i]] = 1;
- }
- for (int i = 1; i < n; i++) {
- for (map<int,long long>::const_iterator it = mp[i-1].begin(); it != mp[i-1].end(); it++) {
- for (int j = 0; j < k; j++) {
- mp[i][it->first*p[j]] += it->second;
- }
- }
- }
- long long ans = 0;
- for (map<int,long long>::const_iterator it = mp[n-1].begin(); it != mp[n-1].end(); it++) {
- ans += (it->second)*(it->second);
- }
- cout << ans << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment