Pagini recente » Istoria paginii utilizator/horiq | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #2707589) | Cod sursa (job #2327720)
#include<bits/stdc++.h>
using namespace std;
ifstream f("ratphu.in");
ofstream g("ratphu.out");
string s;
int v[22],nr,r;
long long dp[1<<19][22];
int main()
{
f>>s>>r;
for(int i=0;i<s.size();++i)
{
v[nr++]=s[i]-'0';
}
int ceva=(1<<nr);
dp[0][0]=1;
for(int i=0;i<ceva;++i)
for(int j=0;j<nr;++j)
if(!(i&(1<<j)))
for(int k=0;k<r;++k)
dp[i | (1<<j)][(k*10+v[j])%r]+=dp[i][k];
g<<dp[ceva-1][0];
}