Cod sursa(job #134063)
| Utilizator | Data | 10 februarie 2008 16:04:59 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <fstream.h>
#include <stdio.h>
ifstream fin ("dezastru.in");
double a[48];
int n,K;
int nr=0;
double P=0,S=0,R;
void citire()
{
fin>>n>>K;
for (int i=0;i<n;i++)
fin>>a[i];
fin.close();
}
void back (int k,int poz,double S)
{
if (k==K)
{
P+=S;
nr++;
return ;
}
for (int i=poz+1;i<n-K+k;i++)
back (k+1,i,S*a[i]);
}
int main ()
{
citire();
back(0,-1,1);
P/=nr;
freopen ("dezastru.out","w",stdout);
printf("%.6lf",P);
fclose (stdout);
return 0;
}
