Cod sursa(job #1761664)

Utilizator CrystyAngelDinu Cristian CrystyAngel Data 22 septembrie 2016 17:43:32
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("dezastru.in");
ofstream g("dezastru.out");

int v[30],n,i,nr,k;
double pr[30],S;

bool valid(int k,int x)
{
    for(int i=1; i<k; ++i)
        if(v[i]==x)
            return 0;
    return 1;
}

void bkt(int p,double s)
{
    if(p==k+1)
        {
            ++nr;
            S+=s;
        }
    else
    for(int i=v[p-1]+1; i<=n; ++i)
    {
            v[p]=i;
            bkt(p+1,s*pr[i]);
    }
}

int main()
{
    f>>n>>k;
    v[0]=0;
    for(i=1; i<=n; ++i)
        f>>pr[i];
    S=0;
    nr=0;
    bkt(1,1);
    S=S/nr;
    g<<S;
}