Cod sursa(job #2227796)

Utilizator vadim171098vadim pislari vadim171098 Data 1 august 2018 19:35:50
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
#define MAX 25

using namespace std;

//var -> cite valori la combinari
 void backtrap(float arr[MAX], int nr, int comb, int nivel,float obt, float *var,int poz,int *much){
    if( nivel == comb ) {
            (*much)++;
            (*var)+=obt;
    }
    else {
        int i;
        for(i = poz ; i < nr - nivel; i++){
            backtrap(arr,nr,comb,nivel + 1,obt * arr[i],var,i + 1,much);
        }
    }
}

int main()
{
    ifstream in("dezastru.in");
    ofstream out("dezastru.out");
    int nr, comb, i;
    float arr[MAX];
    in >> nr >> comb;
    for (i = 0 ; i != nr; i++){
        in >> arr[i];
    }
    float var = 0;
    int much=0;
    backtrap(arr,nr,comb,0,1,&var,0,&much);
    if (much == 0)out<<"0"<<endl;
    else out<<var/much<<endl;
    return 0;
}