Cod sursa(job #2678076)

Utilizator Tudor_IIliescu Andrei-Tudor Tudor_I Data 28 noiembrie 2020 09:10:04
Problema Dezastru Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int sol[20],n,k,nr;
float r, a[20];

void afis()
{   float x=1;
    nr++;
    for( int i=1 ; i<=k ; i++ )
    {   x*=a[sol[i]];
        cout<<sol[i]<<' ';
    }
    cout<<'\n';
    r+=x;
}


void bkt(int poz)
{   if(poz==k+1)
    {   afis();
        return;
    }
    for(int i=sol[poz-1]+1;i<=n-k+poz;i++)
    {   sol[poz]=i;
        bkt(poz+1);
    }
}

int main()
{
    f>>n>>k;
    for(int i=1;i<=n;i++) f>>a[i];
    bkt(1);
    g<<r/nr;
    return 0;
}