Pagini recente » Cod sursa (job #2718722) | Cod sursa (job #939973) | Cod sursa (job #2152020) | Cod sursa (job #2504588) | Cod sursa (job #2859822)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ratphu.in");
ofstream fout("ratphu.out");
char s[25];
int dp[270000][25], p, a[25], n;
int main()
{
fin >> (s + 1);
for(int i = 1; s[i]; i++)
a[n++] = s[i] - '0';
fin >> p;
long long P = (1 << n);
for(int i = 0; i < n; i++)
dp[1 << i][a[i] % p] = 1;
for(int stare = 1; stare < P; stare++)
for(int i = 0; i < n; i++)
if((stare & (1 << i)) == 0)
for(int r = 0; r < p; r++)
dp[stare | (1 << i)][((r * 10) + a[i]) % p] += dp[stare][r];
fout << dp[P - 1][0] << "\n";
fout.close();
return 0;
}