Pagini recente » Cod sursa (job #3293167) | Cod sursa (job #145547) | Cod sursa (job #1996907) | Cod sursa (job #3257253) | Cod sursa (job #3229042)
#include <bits/stdc++.h>
using namespace std;
#define int long long
int dp[1 << 18][20];
signed 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;
}