Pagini recente » Istoria paginii utilizator/giani78 | Istoria paginii utilizator/aladin3006 | Istoria paginii utilizator/lordshadow | Cod sursa (job #2012366) | Cod sursa (job #1260147)
#include <fstream>
using namespace std;
ifstream fin("ratphu.in");
ofstream fout ("ratphu.out");
int v[20],i,j,r,n,p;
long long k,d[1<<19][25];
int main () {
fin>>k>>p;
while (k!=0) {
v[n]=k%10;
k/=10;
d[1<<n][v[n]%p]=1;
n++;
}
for (i=1;i<(1<<n);i++)
for (j=0;j<n;j++)
if (!((1<<j)&i))
for (r=0;r<p;r++)
d[(1<<j)|i][(r*10+v[j])%p]+=d[i][r];
fout<<d[(1<<n)-1][0]<<"\n";
return 0;
}