Cod sursa(job #848554)

Utilizator CosminRusuCosmin Rusu CosminRusu Data 5 ianuarie 2013 16:10:49
Problema Dezastru Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#include<iomanip>
using namespace std;
int st[100],n,fact=0,k;
double cost_total=0,cost[32];
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
double cost_atac=1, N, K, SUM;
int  NR;
void back( int k, int l, double P )
{
    if (k == K)
    {   NR++;
        SUM += P;
        return; }
    for (int i = l + 1; i <= N - K + k; i++)
        back( k + 1, i, P * cost[i] );
}
int main()
{    int i;
     fin>>N;
     fin>>K;
     for(i=0;i<N;i++)
        fin>>cost[i];
     back(0, -1, 1);
     fout<<fixed<<setprecision(7)<<(double)SUM/NR;
     fin.close();
     fout.close();
return 0;
}