Cod sursa(job #2884678)

Utilizator eddy_cimpanuCimpanu Eduardo Daniel eddy_cimpanu Data 4 aprilie 2022 16:44:40
Problema Dezastru Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n,m,nr=0,r[26],a[26];
double v[26],s[26];
void calc()
{
    int i;
    double p=1;
    for(int 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++)
    {
        fout<<s[i]<<endl;
        rez=rez+s[i]/nr;
    }
        fout<<setprecision(6)<<rez;
    return 0;
}