Cod sursa(job #1430441)

Utilizator uivlis1996Dragan Silviu uivlis1996 Data 8 mai 2015 14:28:40
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("dezastru2.in");
ofstream g("dezastru2.out");
unsigned st[25],N,i,K,k,x;
float a[25],p,s;
void citire()
{
    f>>N>>K;
    for(i=1;i<=N;i++)
    f>>a[i];

}
void afis()
{
    p=1;
    for(i=1;i<=K;i++)
        p=p*a[st[i]];
    x++;
    s=s+p;
}
int valid(int k)
{
    for(i=1;i<k;i++)
    if(st[k]==st[i]) return 0;
    return 1;
}
void bt()
{
    k=1;
    st[k]=0;
    do
    {
        while(st[k]<N)
        {
            st[k]++;
            if(valid(k))
                if(k==N) afis();
                else st[++k]=0;
        }
    k--;
    }
    while(k);
}
int main()
{
    citire();
    bt();
    g<<s/x;
    return 0;
}