Guest User

Untitled

a guest
Feb 8th, 2015
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.67 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define endl            '\n'
  6.  
  7. int p[11];
  8. int n,k;
  9. map<int,long long> mp[11];
  10.  
  11. int main( void ) {
  12.     string s;
  13.     cin >> n >> s;
  14.     k = (int)s.size();
  15.     for (int i = 0; i < k; i++) {
  16.         p[i] = (int)(s[i]-'0');
  17.         mp[0][p[i]] = 1;
  18.     }
  19.     for (int i = 1; i < n; i++) {
  20.         for (map<int,long long>::const_iterator it = mp[i-1].begin(); it != mp[i-1].end(); it++) {
  21.             for (int j = 0; j < k; j++) {
  22.                 mp[i][it->first*p[j]] += it->second;
  23.             }
  24.         }
  25.     }
  26.     long long ans = 0;
  27.     for (map<int,long long>::const_iterator it = mp[n-1].begin(); it != mp[n-1].end(); it++) {
  28.         ans += (it->second)*(it->second);
  29.     }
  30.     cout << ans << endl;
  31.     return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment