Pagini recente » Cod sursa (job #969209) | Cod sursa (job #1939499) | Cod sursa (job #1638410) | Cod sursa (job #2896042) | Cod sursa (job #1426759)
#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;
}