Cod sursa(job #1015039)

Utilizator diana97Diana Ghinea diana97 Data 23 octombrie 2013 19:56:41
Problema Dezastru Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;

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

int n, m, t;
char sol[30];
float probabilitate;
float v[30];

void citeste ()
{
    f>>n>>m;
    for (int i=1; i<=n; i++) f>>v[i];
}

void adauga (float valoare)
{
    t++;
   // float p=1;
    //for (int i=1; i<=m; i++) p=p*v[sol[i]];
   // probabilitate+=p;
   probabilitate+=valoare;
}

void genereaza (int k, float valoare)
{
    if (k==m+1) adauga (valoare);
    else
    {
        for (int i=1; i<=n; i++) if (!sol[i]) {sol[i]=1; genereaza (k+1, valoare*v[i]); sol[i]=0;}
    }

}

int main ()
{
    citeste ();
    genereaza (1, 1);
    probabilitate/=t*1.0;
    g<<fixed<<setprecision(6)<<probabilitate<<'\n';
    return 0;
}