Cod sursa(job #1879854)

Utilizator wilson182Alexandrina Panfil wilson182 Data 15 februarie 2017 10:42:08
Problema Dezastru Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<bits/stdc++.h>
using namespace std;
int b[100],n, uz[100], j, k;
double a[100], sm=0, m=0;

int sura(){
    double s=1.0;
    for(j=1; j<=k; j++) s = s * a[b[j]];
    return s;
}
void back(int l){
    int i;
    if (l==k+1) {
        double s=1;
        m++;
        for(int j=1; j<=k; j++) s*=a[b[j]];
        sm+=s;
    }
    else for(i=1; i<=n; i++){
        if (!uz[i]){
            b[l]=i;
            uz[i]=1;
            back(l+1);
            uz[i]=0;
            }
        }
    }
int main()
{
    freopen("dezastru.in", "r", stdin);
    freopen("dezastru.out", "w", stdout);
    cin>>n>>k;
    int i;
    for(i=1; i<=n; i++) cin>>a[i];
    back(1);
    cout<<sm/m;
    return 0;
}