Cod sursa(job #1444649)

Utilizator diana-t95FMI Tudoreanu Diana Elena diana-t95 Data 30 mai 2015 00:53:06
Problema Ratphu Scor 80
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I, Semestrul 2 Marime 0.66 kb

#include <fstream>
using namespace std;

long long n, p;
long long dp[1<<19][21];
int cf[19];
int main()
{
    ifstream fin("ratphu.in");
    ofstream fout("ratphu.out");
    fin>>n>>p;
    int nc = 0;
    while (n)
    {
        cf[nc] = n%10;
        n/=10;
        nc++;
    }
    long long maxc = 1<<nc;
    dp[0][0] = 1;
    int cifra, i;
    for (int config = 0; config < maxc; ++config)
        for (cifra = 0; cifra < nc; ++cifra)
        if ((config & (1<<cifra)) == 0)
    {
        for (int i = 0; i < p; ++i) //fiecare rest
            dp[config | (1<<cifra)][(i*10+cf[cifra])%p] +=dp[config][i];
    }
    fout<<dp[maxc-1][0];
}