Pagini recente » Cod sursa (job #2148075) | Cod sursa (job #66374) | Cod sursa (job #1086755) | Cod sursa (job #1046630) | Cod sursa (job #1473115)
#include<fstream>
using namespace std;
ifstream f("ratphu.in"); ofstream g("ratphu.out");
long long n,np[1<<18][20]; // numarul de posibilitati luand configuratia 'i', sa am restul 0
int main()
{ int p,i,j,k,s=0,aux,c[20];
f>>n>>p;
while(n) {c[s++]=n%10; n/=10;}
for(i=0;i<s/2;i++) {aux=c[i]; c[i]=c[s-i-1]; c[s-i-1]=aux;}
np[0][0]=1;
for(i=0;i<(1<<s);++i)
for(j=0;j<p;++j)
if(np[i][j])
for(k=0;k<s;++k)
if((i&(1<<k))==0)
np[i|(1<<k)][(j*10+c[k])%p]+=np[i][j];
g<<np[(1<<s)-1][0]<<'\n'; g.close(); return 0;
}