Cod sursa(job #3229041)
| Utilizator | Data | 13 mai 2024 12:28:56 | |
|---|---|---|---|
| Problema | Ratphu | Scor | 50 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#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;
}
