Pagini recente » Cod sursa (job #2003656) | Monitorul de evaluare | Clasament dupa rating | Profil maringabriela | Cod sursa (job #1444339)
#include <fstream>
using namespace std;
const int maxstari = (1<<18)+5;
const int dimstari = 20;
long long bst[maxstari][dimstari];
long long n;
int v[30];
int p,nr;
int main ()
{
ifstream in("ratphu.in");
ofstream out("ratphu.out");
in>>n>>p;
int i,j,k;
for ( ; n; n/=10)
v[nr++]=n%10;
bst[0][0]=1;
for(int i=0;i<(1<<nr);++i)
{
for(int j=0;j<nr;++j)
{
if((i & (1<<nr))==0)
{
for(int k=0;k<p;++k)
{
bst[i|(1<<j)][(k*10+v[j])%p]+=bst[i][k];
}
}
}
}
out<<bst[(1<<nr)-1][0];
}