Pagini recente » Cod sursa (job #1438793) | Cod sursa (job #3250523) | Cod sursa (job #1543978) | Cod sursa (job #3177654) | Cod sursa (job #3229041)
#include <bits/stdc++.h>
using namespace std;
int dp[1 << 18][20];
int main() {
ifstream fin("ratphu.in");
ofstream fout("ratphu.out");
string n;
int p;
fin >> n >> p;
dp[0][0] = 1;
for (int mask = 1; mask < (1 << n.size()); mask++) {
for (int i = 0; i < n.size(); i++) {
for (int r = 0; r < p; r++) {
dp[mask][(r * 10 + (n[i] - '0')) % p] += dp[mask ^ (1 << i)][r];
}
}
}
fout << dp[(1 << n.size()) - 1][0] << "\n";
return 0;
}