Cod sursa(job #2507563)

Utilizator cameliapatileaPatilea Catalina Camelia cameliapatilea Data 10 decembrie 2019 14:38:30
Problema Dezastru Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n, k;
double probabilitati[35], dp[35][35], X[35];
void init()
{
    for(int i = 0; i <= n; i++)
    {
        probabilitati[i] = 0;
        X[i] = 0;
    }
    for(int i = 0; i <= n ;i++)
        for(int j = 0; j <= n; j++)
            dp[i][j] = 0;

}
void prelucrare();
void read()
{
    f >> n >> k;
    init();
    for(int i = 1; i <= n; i++)
        f >> probabilitati[i];
    prelucrare();
}
void show();
void prelucrare()
{
    X[0] = 1;
    for(int i = 1; i <= n; i++)
        X[i] = i *  X[i - 1];
    dp[0][0] = 1;
    for(int i = 1; i<= n; i++)
    {
        dp[i][0] = 1;
        for(int j = 1; j <= i; j++)
            dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1] * probabilitati[i];
    }
    show();
}
void show()
{
    double rez = dp[n][k] * X[k] * X[n - k] / X[n];
    g <<  rez;
}
int main()
{
    read();
}