Cod sursa(job #465648)

Utilizator irene_mFMI Irina Iancu irene_m Data 25 iunie 2010 10:58:50
Problema Ratphu Scor 40
Compilator cpp Status done
Runda Stelele Informaticii 2010, gimnaziu si clasa a IX-a, Ziua 1 Marime 0.8 kb
#include <cstdio>
#define infile "ratphu.in"
#define outfile "ratphu.out"
#define MaxN 20

char s[MaxN];
int P,uz[MaxN],cif[MaxN],nrc;
long long sol,N;

void gen(int k,long long nr)
{
    int i;
    if(k>nrc)
    {
        if(nr%P==0)
            sol++;
    }
    else
        for(i=1;i<=nrc;i++)
            if(!uz[i])
            {
                uz[i]=1;
                gen(k+1,nr*10+cif[i]);
                uz[i]=0;
            }
}

void cifre()
{
    long long x=N;
    while(x)
    {
        cif[++nrc]=x%10;
        x/=10;
    }
}

int main()
{
    freopen(infile,"r",stdin);
    freopen(outfile,"w",stdout);

    scanf("%lld",&N);
    scanf("%d",&P);
    cifre();
    gen(1,0);
    printf("%lld\n",sol);

    fclose(stdin);
    fclose(stdout);
    return 0;
}