Cod sursa(job #2884693)

Utilizator eddy_cimpanuCimpanu Eduardo Daniel eddy_cimpanu Data 4 aprilie 2022 17:10:48
Problema Dezastru Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n,m,r[30],a[30];
double v[30],s[155112125];
long long nr=0;
void calc()
{
    int i;
    double p=1;
    for(i=1; i<=m; i++)
        p=p*v[a[i]];
    nr++;
    s[nr]=p;
}
void back(int k)
{
    for(int i=1; i<=n; i++)
    {
        if(!r[i])
        {
            a[k]=i;
            r[i]=1;
            if(k<n)
                back(k+1);
            else calc();
            r[i]=0;
        }
    }
}
int main()
{
    int i;
    double rez=0;
    fin>>n>>m;
    for(i=1; i<=n; i++)
        fin>>v[i];
    back(1);
    for(i=1; i<=nr; i++)
        rez=rez+s[i]/nr;
    fout<<setprecision(6)<<rez;
    return 0;
}