Cod sursa(job #468482)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 3 iulie 2010 21:51:36
Problema Ratphu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.41 kb
#include <cstdio>

long long n, i, l, v[300000][23];
int p, c[23];

int main()
{
	freopen("ratphu.in","r",stdin);
	freopen("ratphu.out","w",stdout);
	scanf("%lld %d",&n,&p);
	int j, k;
	for (; n; n/=10)
		c[l++]=n%10;
	v[0][0]=1;
	for (i=1; i<(1<<l); i++)
		for (j=0; j<p; j++)
			for (k=0; k<l; k++)
				if(i & (1<<k))
					v[i][(j*10+c[k])%p]+=v[i-(1<<k)][j];
	printf("%lld\n",v[(1<<l)-1][0]);
}