Pagini recente » Cod sursa (job #387021) | Rating Raul Gherasim (rauul) | Cod sursa (job #2155401) | Cod sursa (job #2322191) | Cod sursa (job #1705205)
#include <bits/stdc++.h>
const int EXP = 19;
const int MOD = 20;
using namespace std;
long long dp[1 << EXP][MOD];
int n, p; char s[EXP];
int main( void ) {
ifstream input_file ( "ratphu.in" );
ofstream output_file( "ratphu.out" );
input_file >> s >> p; n = strlen(s);
dp[0][0] = 1;
for( int mask = 0; mask < (1 << n); mask ++ ) {
for( int r = 0; r < p; r ++ ) {
if( dp[mask][r] == 0 )
continue;
for( int i = 0; i < n; i ++ ) {
if( (mask & (1 << i)) )
continue;
dp[mask + (1 << i)][(r * 10 + (s[i] - '0')) % p] += dp[mask][r];
}
}}
output_file << dp[(1 << n) - 1][0];
return 0;
}