Cod sursa(job #1444644)

Utilizator diana-t95FMI Tudoreanu Diana Elena diana-t95 Data 30 mai 2015 00:45:55
Problema Ratphu Scor 80
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I, Semestrul 2 Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;
#define maxp 21
#define mc 19
long long n, p;
long long dp[1<<mc][maxp];
int cf[mc];
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++;
    }
    dp[0][0] = 1;
    for (int config = 0; config < (1<<(nc)); config++)
        for (int 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[(1<<(nc))-1][0]<<'\n';
}