Pagini recente » Cod sursa (job #1902885) | Cod sursa (job #944246) | Cod sursa (job #1013484) | Cod sursa (job #1487893) | Cod sursa (job #2430031)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin ("ratphu.in");
ofstream fout ("ratphu.out");
long long d[(1<<18)][20];
char v[20];
int mask,i,j,p,n;
int main (){
fin>>v>>p;
n = strlen(v);
d[0][0] = 1;
for (mask=0;mask<(1<<n);mask++)
for (i=0;i<n;i++)
if (!(mask&(1<<i))) /// incerc sa adaug cifra i
for (j=0;j<p;j++)
d[mask+(1<<i)][(j*10+v[i]-'0')%p] += d[mask][j];
fout<<d[(1<<n)-1][0];
return 0;
}