Pagini recente » Cod sursa (job #400274) | Cod sursa (job #2566806) | Cod sursa (job #665734) | Cod sursa (job #1078086) | Cod sursa (job #1426758)
#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;
}