Pagini recente » Cod sursa (job #2116277) | Cod sursa (job #1938209) | Cod sursa (job #971158) | Cod sursa (job #1844437) | Cod sursa (job #741229)
Cod sursa(job #741229)
#include<stdio.h>
#include<string.h>
char x[20];
int c[20],dp[264000][25];
int main()
{
freopen("ratphu.in","r",stdin);
freopen("ratphu.out","w",stdout);
long i,j,k,lim,p,n,conf,R;
scanf("%s",x);
scanf("%d",&p);
n=strlen(x);
dp[0][0]=1;
for(i=0;i<n;i++)
c[i+1]=x[i];
lim=(1<<n)-1;
for(i=0;i<=lim;i++)
for(j=0;j<p;j++)
if(dp[i][j]!=0)
for(k=0;k<n;k++)
if(!(i&(1<<k)))
{
conf=i|(1<<k);
R=(j*10+c[k+1])%p;
dp[conf][R]+=dp[i][j];
}
printf("%ld\n",dp[lim][0]);
return 0;
}