Cod sursa(job #2031905)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 3 octombrie 2017 23:29:23
Problema Ratphu Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
//17 cifre, intra back probabil, expected: 100p
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f ("ratphu.in");
ofstream g ("ratphu.out");
int k,v[33],p[33],mod,sol;
long long p10[33],n;
bool check()
{
    long long usu=0;
    for(int i=1;i<=k;++i) usu=usu+v[p[i]]*p10[i];
    if(usu%mod==0) return true;
    return false;
}
void solve()
{
    while(next_permutation(p+1,p+k+1))
    {
        if(check()==true) ++sol;
    }
}
int main()
{
    f>>n>>mod;
    p10[1]=1;
    for(int i=2;i<=17;++i)
    {
        p10[i]=p10[i-1]*10;
    }
    while(n)
    {
        v[++k]=n%10;
        n/=10;
        p[k]=k;
    }
    if(check()) ++sol;
    solve();
    g<<sol;
    return 0;
}