Cod sursa(job #1820641)

Utilizator GeoeyMexicanuBadita George GeoeyMexicanu Data 1 decembrie 2016 23:26:26
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int i,j,n,k,st[35],prob=0;
double sum=0,v[35];
inline void bktr(int val,int p,double pr)
{
    st[p]=val;
    if(p==k)
        {
            sum=sum+pr;
            prob++;
        }
    else
    {
        for(int i=1;i<=n;i++)
        {
            int ok=1;
            for(int j=1;j<=p;j++)
                if(i==st[j])
                ok=0;
            if(ok==1)
            {
                bktr(i,p+1,pr*v[i]);
            }
        }
    }
}
int main()
{
    f>>n>>k;
    for(i=1;i<=n;i++)
    {
        f>>v[i];
    }
    bktr(0,0,1);
    g<<fixed<<setprecision(6)<<(sum/prob);
}