Cod sursa(job #2081944)

Utilizator stefdascalescuStefan Dascalescu stefdascalescu Data 5 decembrie 2017 15:43:09
Problema Ratphu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.4 kb
/// OrangeWarrior #1
#include<bits/stdc++.h>
using namespace std;
ifstream f("ratphu.in");
ofstream g("	ratphu.out");
long long fr[12],sc,nrd,nc,n,sol,nr,nr2,v[19];
bool use[19];
long long fact(int i)
{
    if(i<=1)
        return 1;
    long long sol=1;
    for(int j=2;j<=i;++j)
        sol*=j;
    return sol;
}
void bt(int k)
{
    if(k==nc+1){
        if(nr%nrd==0)
            sol++;
    }
    else
        for(int i=1;i<=nc;++i)
            if(!use[i])
            {
                nr=nr*10+v[i];
                use[i]=1;
                bt(k+1);
                use[i]=0;
                nr/=10;
            }
}
int main()
{
    f>>n>>nrd;
    while(n)
    {
        fr[n%10]++;
        sc=0;
        ++nc;
        v[nc]=n%10;
        n/=10;
    }
    /*
    if(nrd==1)
        sol=fact(nc);
    else
        if(nrd==2 || (nrd==6 && sc%3==0) || (nrd==18 && sc%9==0))
            sol=(fr[0]+fr[2]+fr[4]+fr[6]+fr[8])*fact(nc-1);
        else
            if((nrd==3 && sc%3==0) || (nrd==9 && sc%9==0))
                sol=fact(nc);
            else
                if(nrd==5 || (nrd==15 && sc%3==0))
                    sol=(fr[0]+fr[5])*fact(nc-1);
                else
                    if(nrd==10)
                        sol=fr[0]*fact(nc-1);
                    else
                        bt(1);
                        */
    g<<sol<<'\n';
    return 0;
}