Cod sursa(job #472955)

Utilizator S7012MYPetru Trimbitas S7012MY Data 27 iulie 2010 12:20:10
Problema Ratphu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <cstdio>
#include <cstring>
#define DM 20

long long din[1<<DM][DM];
char num[DM];

int main()
{
	int p,x;
	freopen("ratphu.in","r",stdin);
	freopen("ratphu.out","w",stdout);
	scanf("%s %d",&num,&p);
	int n=strlen(num);
	x=1<<n;
	din[0][0]=1;
	for(int i=0; i<x; i++)
		for(int j=0; j<p; j++)
			if(din[i][j])
				for(int k=0; k<n; k++)
					if((i&(1<<k))==0)
						din[i|(1<<k)][(j*10+num[k]-'0')%p]+=din[i][j];
	printf("%lld",din[x-1][0]);
	return 0;
}