Pagini recente » Cod sursa (job #1297321) | Cod sursa (job #985414) | Cod sursa (job #231471) | Cod sursa (job #67866) | Cod sursa (job #2738232)
#include <bits/stdc++.h>
using namespace std;
ifstream f("ratphu.in");
ofstream g("ratphu.out");
long long n,p,cop,nr[25],q,lim,bit,j,i,rest[1010];
long long din[(1<<19)][21];
int main()
{
f>>n>>p;
cop=n;
while (cop)
{
nr[++q]=cop%10;
cop=cop/10;
}
lim=(1<<q);
din[0][0]=1;
for (i=1;i<=1005;i++)
{
rest[i]=i%p;
}
for (i=0;i<lim;i++)
{
for (j=0;j<p;j++)
{
if (din[i][j]>0)
{
for (bit=0;bit<q;bit++)
{
if ((i&(1<<bit))==0)
{
din[i^(1<<bit)][rest[j*10+nr[bit+1]]]+=din[i][j];
}
}
}
}
}
g<<din[lim-1][0];
return 0;
}