Cod sursa(job #1473113)

Utilizator enedumitruene dumitru enedumitru Data 18 august 2015 16:35:25
Problema Ratphu Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream>
using namespace std;
ifstream f("ratphu.in"); ofstream g("ratphu.out");
int p,i,j,k,s,aux,c[20];
long long n,np[1<<18][20]; // numarul de posibilitati luand configuratia 'i', sa am restul 0
int main()
{   f>>n>>p;
    while(n) {c[s++]=n%10; n/=10;}
    for(i=0;i<s/2;i++) {aux=c[i]; c[i]=c[s-i-1]; c[s-i-1]=aux;}
    np[0][0]=1;
    for(i=0;i<(1<<s);++i)
        for(j=0;j<p;++j)
            if(np[i][j])
                for(k=0;k<s;++k)
                    if((i&(1<<k))==0)
                        np[i|(1<<k)][(j*10+c[k])%p]+=np[i][j];
    g<<np[(1<<s)-1][0]<<'\n'; g.close(); return 0;
}