Cod sursa(job #1741425)

Utilizator antracodRadu Teodor antracod Data 13 august 2016 21:03:32
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;

ifstream in("dezastru.in");
ofstream out("dezastru.out");

const int NMAX = 26;

int sol[NMAX],f[NMAX];
float v[NMAX];

int n,k;
int atk=0;
float sum,p;

int bt(int x)
{
    if(x==n+1)
    {
        p=1;
        for(int i=1; i<=k; i++)
        {
            p=p*v[sol[i]];
        }

        sum=sum+p;
        atk++;
    }
    else
    {
        for(int i=1; i<=n; i++)
        {
            if(f[i]==0)
            {
                f[i]=1;
                sol[x]=i;
                bt(x+1);
                f[i]=0;
            }
        }
    }
}


int main()
{
    in>>n>>k;

    for(int i=1; i<=n; i++)
    {
        in>>v[i];
    }
    bt(1);
    out<<setprecision(6)<<fixed<<sum/atk;
}