Cod sursa(job #1198425)

Utilizator Johnny07Savu Ioan-Daniel Johnny07 Data 15 iunie 2014 17:32:43
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
#include <cstdio>
using namespace std;
FILE *f=fopen ("dezastru.in","r");
FILE *g=fopen ("dezastru.out","w");
int v[10000],n,k,kfac=1,nfac=1;
float a[100],s,rez,rezt;
void afisare()
{
    s=1;
    for (int i=1;i<=k;i++) s*=a[v[i]];
    rez+=s;
}

void Back(int p)
{
    for (int i=v[p-1]+1;i<=n;i++)
    {
        v[p]=i;
        if (p==k) afisare ();
        if (p<k) Back (p+1);
    }
}

int main()
{
fscanf (f,"%d %d",&n,&k);
int i;
for (i=1;i<=n;i++) {fscanf (f,"%f",&a[i]);nfac*=i;}
for (i=1;i<=k;i++) kfac*=i;
v[0]=0;
Back (1);
rezt=rez*kfac/nfac;
fprintf (g,"%6f",rezt);

    return 0;
}