Cod sursa(job #1338796)

Utilizator Darius15Darius Pop Darius15 Data 10 februarie 2015 13:03:17
Problema Ratphu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>

using namespace std;
ifstream f("ratphu.in");
ofstream g("ratphu.out");
int v[20],p,l,lim,z,j,i;
long long n,dim[(1<<17)+1][20];
int main()
{
    f>>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];
        }
    }
    g<<dim[lim-1][0];
    return 0;
}