Cod sursa(job #1820636)

Utilizator GeoeyMexicanuBadita George GeoeyMexicanu Data 1 decembrie 2016 23:09:37
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme 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=1;
double sum=0,v[35];
inline void bktr(int val,int p,double pr)
{
    st[p]=val;
    if(p==k)
        {
            sum=sum+pr;
        }
    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];
        prob=prob*i;
    }
    bktr(0,0,1);
    g<<fixed<<setprecision(6)<<(sum/prob);
}