Cod sursa(job #1822430)

Utilizator anelise.mariaIonescu Maria Anelise anelise.maria Data 4 decembrie 2016 21:30:45
Problema Dezastru Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;
int n,K; double v[25],s=0,ss[25];
bool b[25];int nrperm=0;

double produs()
{
    int i;
    double p=1;
    for(i=1;i<=K;i++)
        p=p*ss[i];
    return p;
}

void backk(int k)
{
    int i;
    if(k==K)
    {
        s=s+produs();
        nrperm++;
        //cout<<nrperm<<" ";
        //cout<<s<<" ";
        return;

    }

    for(i=1;i<=n;i++)
    {
        if(b[i]==false)
        {
            b[i]=true;
            ss[++k]=v[i];
            //cout<<ss[i]<<" ";
            backk(k);
            b[i]=false;
            k--;

        }
    }

}

int main()
{
    ifstream f("dezastru.in");
    ofstream g("dezastru.out");

    int i;
    f>>n>>K;
    for(i=1;i<=n;i++)
        f>>v[i];
    backk(0);

    g<<setprecision(6)<<s/nrperm;

    return 0;
}