Cod sursa(job #2870117)

Utilizator RobertlelRobert Robertlel Data 12 martie 2022 09:43:26
Problema Dezastru Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
double v[35];
double x[35];
double s[35];

int n,m,i,cnt=0;
int ok(int poz)
{
    for(int i=1;i<poz;i++)
        if(v[poz]==v[i])
        return 0;
    return 1;
}
void afisare(int m)
{
    double suma=1;

    for(int i=1;i<=m;i++)
    {
        suma=suma*v[i];
    }
    cnt++;
    s[cnt]=s[cnt]+suma;
}

void bkt(int nivel)
{
    for(int i=1;i<=n;i++)
    {
        v[nivel]=x[i];
        if(ok(nivel))
            if(nivel==n)
            afisare(m);
        else
            bkt(nivel+1);
    }
}

int main()
{
    f>>n>>m;
    for(i=1;i<=n;i++)
        f>>x[i];
        bkt(1);
        double suma=0;
        for(i=1;i<=cnt;i++)
        {
            suma=suma+s[i]/cnt;
        }
        g<<fixed<<setprecision(6)<<suma;
    return 0;
}