Pagini recente » Cod sursa (job #3241320) | Cod sursa (job #3239103) | Cod sursa (job #2979405) | Cod sursa (job #477235) | Cod sursa (job #469534)
Cod sursa(job #469534)
#include<fstream.h>
//#include<iostream.h>
long long nr[(1<<18)+1][21];
char c;
int a[21];
int main()
{
int p,i,n,i1,r1,j,r;
ifstream f("ratphu.in");
ofstream g("ratphu.out");
n=0;
f.get(c);
while(c!=' ')
{n++;
a[n]=c-'0';
f.get(c);
}
int u=1,v=n,aux;
while(u<v)
{aux=a[u];a[u]=a[v];a[v]=aux;
u++;v--;
}
f>>p;
for(i=0;i<n;i++)
nr[1<<i][a[i+1]%p]=1;
for(i=0;i<(1<<n);i++)
for(r=0;r<p;r++)
if(nr[i][r]>0)
for(j=0;j<n;j++)
if((i&(1<<j))==0)
{i1=i|(1<<j);
r1=(r*10+a[j+1])%p;
nr[i1][r1]=nr[i1][r1]+nr[i][r];
}
g<<nr[(1<<n)-1][0]<<'\n';
}