Cod sursa(job #3004669)

Utilizator Chris_BlackBlaga Cristian Chris_Black Data 16 martie 2023 15:30:10
Problema Ratphu Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <fstream>

using namespace std;
ifstream cin("ratphu.in");
ofstream cout("ratphu.out");

const int N = 19;
long long dp[1<<N][20];
string nr;
int p;
int main()
{
    cin>>nr>>p;
    int n = nr.size();
    dp[0][0] = 1;

    for(int s = 0; s < (1<<n); ++s)
        for(int r = 0; r < p; ++r)
            for(int i = 0; i < n; ++i)
                if(!(s&(1<<i)))
                    dp[s | (1<<i)][(r * 10 + nr[i] - '0')%p] += dp[s][r];
    cout<<dp[(1<<n)-1][0];
    return 0;
}