Cod sursa(job #2480022)
Utilizator | Moise Andrei Moise_Andrei | Data | 24 octombrie 2019 19:24:01 |
---|---|---|---|
Problema | Ratphu | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("raphu.in");
ofstream out("raphu.out");
int v[20][300005], fr[20];
int main()
{
int n, k, sz = 0;
in >> n >> k;
while(n > 0)
{
fr[sz++] = n % 10;
n /= 10;
}
v[0][0] = 1;
for(int i = 0; i < (1 << sz); i ++)
for(int j = 0; j < sz; j ++)
if((i & (1 << j)) == 0)
for(int h = 0; h < k; h ++)
v[(h * 10 + fr[j]) % k][i | (1 << j)] += v[h][i];
out << v[0][(1 << sz) - 1];
return 0;
}