Pagini recente » Cod sursa (job #2855186) | Cod sursa (job #1183240) | Cod sursa (job #780203) | Cod sursa (job #949290) | Cod sursa (job #2254070)
#include <bits/stdc++.h>
#define Dim 20
using namespace std;
ifstream f("ratphu.in");
ofstream g("ratphu.out");
unsigned long long N,P,cnt,numar,pr=1,ans;
int C[Dim],Nr[13],R[13];
void BKT(int k)
{
if(k==cnt+1)
{
if(numar%P==0) ans++;
}
else
for(int i=1;i<=cnt;i++)
if(R[C[i]]+1<=Nr[C[i]])
{
R[C[i]]++;
numar+=i*pr;
pr*=10;
BKT(k+1);
numar-=i*pr;
pr/=10;
R[C[i]]--;
}
}
int main()
{
f>>N>>P;
while(N)
{
C[++cnt]=N%10;
Nr[C[cnt]]++;
N/=10;
}
BKT(1);
g<<ans;
return 0;
}