Cod sursa(job #2751423)

Utilizator Simon2712Simon Slanina Simon2712 Data 14 mai 2021 23:06:52
Problema Dezastru Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
double v[26],rez=0;
int vc[26],n,m,nr=0;
void bkt(int ind,int cnt,double prod,int last)
{
    if(ind==n+1 || cnt==m)
    {
        if(cnt==m){
            rez+=prod;
            nr++;
        }
    }
    else
    {
        for(int i=last+1;i<=n;i++)
        {
            if(vc[i]==0)
            {
                vc[i]++;
                bkt(ind+1,cnt+1,prod*v[i],i);
                vc[i]--;
            }
        }
       // bkt(ind+1,cnt,prod,);
    }
}
int main()
{
    int i;
    cin>>n>>m;
    for(i=1;i<=n;i++)
        cin>>v[i];
    bkt(1,0,1,0);
    rez/=nr;
    cout<<fixed<<setprecision(6)<<rez;
    return 0;
}