Cod sursa(job #2493336)

Utilizator muresan_sabinaMuresan Sabina muresan_sabina Data 16 noiembrie 2019 11:42:34
Problema Dezastru Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
using namespace std;
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
int n, k, st[26], nr;
double v[26], p, s;
int validare(int niv)
{
    for(int i=1;i<niv;i++)
    {
        if(st[niv]==st[i])
            return 0;
    }
    return 1;
}

void tipar(int niv)
{
    p=1;
    for(int i=1;i<=k;i++)
    {
        p=p*v[st[i]];
    }
    s=s+p;
}

void bck (int niv)
{
    int i;
    for(i=1;i<=n;i++)
    {
        st[niv]=i;
        if(validare(niv)==1)
        {
            if(niv==n)
            {
                tipar(niv);
                nr++;
            }
            else
                bck(niv+1);
        }
    }
}
int main()
{
    int i;
    fin>>n>>k;
    nr=0;
    s=0;
    for(i=1;i<=n;i++)
    {
        fin>>v[i];
    }
    bck(1);
    fout<<s/nr;
    return 0;
}