Cod sursa(job #1712333)

Utilizator GeanaVladGeana Vlad GeanaVlad Data 2 iunie 2016 17:53:34
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,st[30],k,d[30],fact;
float a[30],s;
void init()
{
    f>>n>>k;
    for(int i=1; i<=n; i++)
    {
        st[i]=0;
        f>>a[i];
    }
}
void tipar()
{
    float p=1;
    fact++;
    for(int i=1; i<=k; i++)
        p*=a[st[i]];
    s+=p;
}
void bkt(int p)
{
    for(int pval=1; pval<=n; pval++)
    if(d[pval]==0)
    {
        d[pval]=1;
        st[p]=pval;
        if(p==n)
            tipar();
        else
            bkt(p+1);
        d[pval]=0;
    }
}
int main()
{
    init();
    bkt(1);
    g<<s/fact;
    return 0;
}