Cod sursa(job #1164394)

Utilizator xtreme77Patrick Sava xtreme77 Data 2 aprilie 2014 00:55:14
Problema Ratphu Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>

using namespace std;

long long mat[1<<18][20],n;

int main()
{
    int lung,i,j,rest,k,num[22];
    ifstream fin("ratphu.in");
    ofstream fout("ratphu.out");
    fin>>n>>k;
    for (lung=0;n>0;n/=10) {
        num[lung++]=n%10;
    }

    mat[0][0]=1;
    for (i=0;i <(1<<lung);++i){
         for (rest=0;rest<k;++rest){
              if (mat[i][rest]){
                   for (j=0;j<lung;++j){
                         if (!((1<<j)&i)){
                            mat[i+(1<<j)][(rest*10 + num[j])%k]+=mat[i][rest];
                        }
                    }
            }
        }
    }

    fout<<mat[(1<<lung)-1][0]<<'\n';

    return 0;
}