Mai intai trebuie sa te autentifici.

Cod sursa(job #1552199)

Utilizator moowalkerMihai Turcanu moowalker Data 17 decembrie 2015 13:40:09
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;

int n,k;
float t[26];
int v[26];
float rs;
long nr_perm=1;
fstream f;
void back(int x)
{
    bool ok;
    if (x==n)
    {
        float prod=1;
        for (int i=1;i<=k;i++)
        {
            prod*=t[v[i]];
        }
        rs+=prod/nr_perm;
    }
    else
    {
        for (int i=1;i<=n;i++)
        {
            ok=true;
            for (int j=1;j<=x;j++)
            if (v[j]==i) {ok=false; break;}
            if (ok) {v[x+1]=i; back(x+1);}
        }
    }
}
main()
{
    f.open("dezastru.in",ios::in);
    f>>n>>k;
    for (int i=1;i<=n;i++)
    nr_perm*=i;
    for (int i=1;i<=n;i++)
    f>>t[i];
    back(0);
    f.close();
    f.open("dezastru.out",ios::out);
    f<<setprecision(6)<<rs;
}