Cod sursa(job #1323123)
Utilizator | Bungiu Alexandru The_Disturbed | Data | 20 ianuarie 2015 17:59:02 |
---|---|---|---|
Problema | Ratphu | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Teme Pregatire ACM Unibuc 2014, Anul II | Marime | 0.51 kb |
#include<cstdio>
#include<cstring>
FILE *f,*g;
long long d[1000013][23] ;
char n[23];
int p,i,c,k,l;
int main()
{
f=fopen("ratphu.in","r");
g=fopen("ratphu.out","w");
fscanf(f,"%s %d",&n,&p);
d[0][0]=1 ;
k=strlen(n) ;
for(l=0;l<1<<k;++l)
for(c=0;c<p;++c)
if(d[l][c])
for (i=0;i<k;++i)
if ((l&(1<<i))==0)
d [l|(1<<i)][(c*10+n[i]-'0')%p]+=d[l][c];
fprintf(g,"%lld",d[(1<<k)-1][0]) ;
return 0;
}