Cod sursa(job #2038682)

Utilizator vladcoroian2001Vlad Coroian vladcoroian2001 Data 13 octombrie 2017 22:09:05
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

using namespace std;
ifstream fi("dezastru.in");
ofstream fo("dezastru.out");
int n,k,i,j;
double P[26],M[26][26],C[26][26],c;
int comb()
{
    int i,j;
    for(i=1;i<=n;i++)
    {
        C[1][i]=i;
        C[i][i]=1;
    }
    for(i=2;i<=n;i++)
        for(j=2;j<=i;j++)
            C[j][i]=C[j][i-1]+C[j-1][i-1];
    return C[k][n];
}
int fct()
{
    int i,rez=1;
    for(i=1;i<=k;i++)
        rez*=i;
    return rez;
}
int main()
{
    fi>>n>>k;
    for(i=1;i<=n;i++)
        fi>>P[i];
    c=comb();
    M[0][0]=1;
    for(i=1;i<=n;i++)
    {
        M[i][0]=1;
        for(j=1;j<=i;j++)
            M[i][j]=M[i-1][j]+P[i]*M[i-1][j-1];
    }
    fo<<M[n][k]/c;
    fi.close();
    fo.close();
    return 0;
}