Cod sursa(job #2034132)

Utilizator RazvanGutaGuta Razvan Alexandru RazvanGuta Data 7 octombrie 2017 14:52:29
Problema Ratphu Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
#include<vector>
#include <algorithm>
using namespace std;
ifstream f("ratphu.in");
ofstream g("ratphu.out");
struct q{
int val,ord;
}v[21];
vector<int> a;
int n,i,x,m,j,ok,p,s=0;
void afis(int & sol)
{
    int i,nr=0;
    for (i=0;i<ok;i++)
     nr=v[a[i]].val+nr*10;
      if(nr%p==0)
        sol++;

}
int main()
{
    int sol=0;
    f>>n>>p;
   while(n!=0)
    {
        x=n%10;
        ok++;
        s=s+x;
        v[ok].val=x;
        v[ok].ord=ok;
    a.push_back(ok);
        n/=10;
    }
    if(p==0)
    {
        g<<0;
        return 0;
    }
   if(p%3==0&&s%3!=0)
    {
        g<<0;
        return 0;
    }
    do afis(sol); while (next_permutation(a.begin(),a.end()));
    g<<sol;
    return 0;
}