Pagini recente » Cod sursa (job #1143808) | Cod sursa (job #767960) | Cod sursa (job #1300019) | Rating Paun Andrei (Edgar) | Cod sursa (job #689300)
Cod sursa(job #689300)
#include <cstdio>
#include <string>
#include <iostream>
using namespace std;
long long conf, d[(1 << 18)][20];
int p;
string n;
int main()
{
int conf, r, i;
freopen ("ratphu.in", "r", stdin);
freopen ("ratphu.out", "w", stdout);
cin >> n;
scanf("%d", &p);
d[0][0] = 1;
for(conf = 0; conf < (1 << n.size()); ++conf) {
for(r = 0; r < p; ++r) {
for(i = 0; i < 18; ++i) {
if(!(conf & (1 << i))) {
d[conf + (1 << i)][(r * 10 + n[i]) % p] += d[conf][r];
}
}
}
}
printf("%lld", d[(1 << n.size()) - 1][0]);
return 0;
}