Cod sursa(job #1444344)

Utilizator obidanDan Ganea obidan Data 29 mai 2015 16:35:34
Problema Ratphu Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I, Semestrul 2 Marime 0.69 kb
#include <fstream>

using namespace std;

const int maxstari = 262145;
const int dimstari = 20;

long long bst[maxstari][dimstari];
long long n;
int v[30];
int p,nr;

int main ()
{
    ifstream in("ratphu.in");
    ofstream out("ratphu.out");

     in>>n>>p;
    while(n)
    {
        v[nr]=n%10;
        nr++;
        n/=10;
    }
    bst[0][0]=1;
     for(int i=0;i<(1<<nr);++i)
    {
        for(int j=0;j<nr;++j)
        {
            if((i & (1<<j))==0)
            {
                for(int k=0;k<p;++k)
                {
                    bst[i|(1<<j)][(k*10+v[j])%p]+=bst[i][k];
                }
            }
        }
    }
    out<<bst[(1<<nr)-1][0];

}