Cod sursa(job #1739000)

Utilizator alin1999Buzatu Alin alin1999 Data 8 august 2016 13:09:36
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n,k,viz[26],x[26];
double v[26],prod,P;
unsigned long long p1;
int cont(int p)
{
    return 1;
}
int solutie(int p)
{
    if(p==n)
        return 1;
    return 0;
}
void afis(int p)
{
    prod=1;
    for(int i=1;i<=k;i++)
        prod*=v[x[i]];
        P+=prod;
}
void back(int p)
{
    for(int i=1;i<=n;i++)
        if(!viz[i])
    {
        x[p]=i;
        viz[i]=1;
        if(cont(p))
        if(solutie(p))afis(p);
        else
            back(p+1);
            viz[i]=0;
    }
}
int main()
{
    fin>>n>>k;
    p1=1;
    for(int i=1;i<=n;i++)
        p1=p1*i;
    for(int i=1;i<=n;i++)
        fin>>v[i];
    back(1);
    fout<<P/p1;
    return 0;
}