Cod sursa(job #1338796)
| Utilizator | Data | 10 februarie 2015 13:03:17 | |
|---|---|---|---|
| Problema | Ratphu | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
using namespace std;
ifstream f("ratphu.in");
ofstream g("ratphu.out");
int v[20],p,l,lim,z,j,i;
long long n,dim[(1<<17)+1][20];
int main()
{
f>>n>>p;
l=-1;
while(n)
{
v[++l]=n%10;
n=n/10;
}
dim[0][0]=1;
lim=(1<<(l+1));
for (i=0;i<lim;i++){
for (j=0;j<l+1;j++)
if (!(i & (1<<j))){
for (z=0;z<=p-1;z++)
dim[i | (1<<j)][(z*10+v[j])%p]+=dim[i][z];
}
}
g<<dim[lim-1][0];
return 0;
}
