Pagini recente » Cod sursa (job #2689835) | Cod sursa (job #2902434) | Cod sursa (job #2958690) | Cod sursa (job #2683285) | Cod sursa (job #1319391)
#include <fstream>
#include <string>
#include <vector>
using namespace std;
ifstream fi("ratphu.in");
ofstream fo("ratphu.out");
string s;
int p;
long long m[1<<18][21];
int main (){
fi>>s>>p;
for(size_t i=0;i<s.size();++i){
s[i]=(s[i]-'0')%p;
m[1<<i][s[i]]=1;
}
for(int i=0;i<(1<<s.size());++i )
for(int j=0;j<s.size();++j )
if((i&(1<<j))==0)
for(int k=0;k<p;++k){
int x=k*10+s[j];
for(;x>=p;x=x-p);
m[i|(1<<j)][x]+=m[i][k];
}
fo<<m[(1<<s.size())-1][0];
return 0;
}