Pagini recente » Cod sursa (job #3121694) | Cod sursa (job #2793658) | Cod sursa (job #2129803) | Cod sursa (job #1266812) | Cod sursa (job #1164394)
#include <fstream>
using namespace std;
long long mat[1<<18][20],n;
int main()
{
int lung,i,j,rest,k,num[22];
ifstream fin("ratphu.in");
ofstream fout("ratphu.out");
fin>>n>>k;
for (lung=0;n>0;n/=10) {
num[lung++]=n%10;
}
mat[0][0]=1;
for (i=0;i <(1<<lung);++i){
for (rest=0;rest<k;++rest){
if (mat[i][rest]){
for (j=0;j<lung;++j){
if (!((1<<j)&i)){
mat[i+(1<<j)][(rest*10 + num[j])%k]+=mat[i][rest];
}
}
}
}
}
fout<<mat[(1<<lung)-1][0]<<'\n';
return 0;
}