Cod sursa(job #1309732)

Utilizator CiurezAndreiCiurez Marius-Andrei CiurezAndrei Data 5 ianuarie 2015 23:22:38
Problema Ratphu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>

using namespace std;

ifstream fin("ratphu.in");
ofstream fout ("ratphu.out");

int v[20],i,j,r,nr,p;

long long k,D[1<<19][25];

int main () {

    fin >> k >> p;

    while (k != 0) {
        v[nr] = k % 10;
        k /= 10;
        D[1 << nr][v[nr] % p] = 1;
        nr ++;
    }
    for (i = 1; i < (1 << nr);i ++)
        for (j = 0; j < nr;j ++)
            if (!((1 << j) & i))
                for (r = 0; r < p; r ++)
                    D[(1 << j) | i][(r * 10 + v[j]) % p] += D[i][r];
    fout << D[(1 << nr) - 1][0] << "\n";

    return 0;
}