Cod sursa(job #1761695)

Utilizator denniscrevusDennis Curti denniscrevus Data 22 septembrie 2016 18:46:50
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <iomanip>
#define NMAX 26

using namespace std;

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

int i, j, n, k, pasc[NMAX][NMAX];
double v[NMAX], d[NMAX][NMAX];

void margini()
{
    i=0;

    for(j=0;j<=25;j++)
        d[i][j]=1;

    for(j=0;j<=25;j++)
        d[j][i]=1;
}

void citire()
{
    f>>n>>k;

    for(i=1;i<=n;i++)
        f>>v[i];
}

void construire()
{
    d[1][1]=v[1];
    for(i=2;i<=n;i++)
        for(j=1;j<=i;j++)
            d[i][j] = d[i-1][j] + v[i]*d[i-1][j-1];




}

void pascal()
{
    pasc[1][1]=1;
    for(i=2;i<=n+1;i++)
        for(j=1;j<=i;j++)
            pasc[i][j]=pasc[i-1][j]+pasc[i-1][j-1];
}

int main()
{
    citire();
    margini();
    construire();
    pascal();
    g<<fixed<<setprecision(7)<<d[n][k]/pasc[n+1][k+1];
}