Pagini recente » Diferente pentru runda/cni_preoji intre reviziile 11 si 12 | Diferente pentru preoji/clasament/11-12 intre reviziile 19 si 18 | Cod sursa (job #133640) | Cod sursa (job #2912079) | 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];
}