Cod sursa(job #1260140)
Utilizator | Data | 10 noiembrie 2014 22:11:37 | |
---|---|---|---|
Problema | Ratphu | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
using namespace std;
ifstream fin("ratphu.in");
ofstream fout ("ratphu.out");
int v[20],i,j,r,n,d[1<<19][25],p;
long long k;
int main () {
fin>>k>>p;
while (k!=0) {
v[n]=k%10;
k/=10;
d[1<<n][v[n]%p]=1;
n++;
}
for (i=1;i<=(1<<n);i++)
for (j=0;j<n;j++)
if (!((1<<j)&i))
for (r=0;r<p;r++)
d[(1<<j)|i][(r*10+v[j])%p]+=d[i][r];
fout<<d[(1<<n)-1][0]<<"\n";
return 0;
}