Cod sursa(job #1276090)

Utilizator acomAndrei Comaneci acom Data 25 noiembrie 2014 22:20:43
Problema Ratphu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream>
#include<cstring>
using namespace std;
ifstream fin("ratphu.in");
ofstream fout("ratphu.out");
char s[20];
int n,r,p,a[20];
long long D[1<<18][20];
int main()
{
    int i,j,k;
    fin>>s>>p;
    n=strlen(s);
    for (i=0;i<n;++i)
        a[i]=s[i]-'0';
    D[0][0]=1;
    for (i=1;i<(1<<n);++i)
        for (k=0;k<n;++k)
            if (i&(1<<k))
                for (j=0;j<p;++j)
                {
                    r=j*10+a[k];
                    while (r>=p) r-=p;
                    D[i][r]+=D[i-(1<<k)][j];
                }
    fout<<D[(1<<n)-1][0]<<"\n";
    return 0;
}