Cod sursa(job #3229036)

Utilizator AztecaVlad Tutunaru 2 Azteca Data 13 mai 2024 12:05:29
Problema Ratphu Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

string s;
int p;
ll dp[1 << 19][20];

int main() {
    freopen("ratphu.in", "r", stdin);
    freopen("ratphu.out", "w", stdout);
    cin >> s >> p;
    int x = s.size();
    dp[0][0] = 1;
    for (int mask = 1; mask < (1 << x); ++mask) {
        for (int rest = 0; rest < p; ++rest) {
            for (int b = 0; b < x; ++b) {
                if (mask & (1 << b)) {
                    dp[mask][(rest * 10 + s[b] - '0') % p] += dp[mask ^ (1 << b)][rest];
                }
            }
        }
    }
    cout << dp[(1 << x) - 1][0] << '\n';
    return 0;
}