Cod sursa(job #1426758)

Utilizator sulzandreiandrei sulzandrei Data 30 aprilie 2015 16:32:55
Problema Ratphu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
using namespace std;
ifstream in("ratphu.in");
ofstream out("ratphu.out");
int v[20],p,l,lim,z,j,i;
long long n,dim[(1<<17)+1][20];
int main()
{
    in >> n >> p;
    l=-1;
    while(n)
    {

       v[++l] = n%10;
       n=n/10;
    }
    dim[0][0]=1;
    lim = (1<<(l+1));
    for( i = 0 ; i < lim ; i ++)
        for ( j = 0 ; j < l + 1 ; j ++)
            if (!(i & (1<<j)))
                for (z=0;z<=p-1;z++)
                    dim[i | (1<<j)][(z*10+v[j])%p]+=dim[i][z];
    out << dim[lim-1][0];
    return 0;
}