Cod sursa(job #902146)
| Utilizator | Data | 1 martie 2013 13:01:12 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <cstdio>
using namespace std;
int i,n,d,j;
double a[30],sol,m[30][30],c;
int main()
{FILE *f1 = fopen("dezastru.in","r");
FILE *f2 = fopen("dezastru.out","w");
fscanf(f1,"%d%d",&n,&d);
for (i=1;i<=n;i++) fscanf(f1,"%lf",&a[i]);
m[0][0]=1;
for (i=1;i<=n;i++) m[i][0]=1;
for (i=1;i<=n;i++)
for (j=1;j<=d;j++) m[i][j]=m[i-1][j]+m[i-1][j-1]*a[i];
c=1;
for(i=d+1;i<=n;i++) c*=i;
for(i=2;i<=n-d;i++) c/=i;
fprintf(f2,"%.6lf",m[n][d]/c);
fclose(f1);fclose(f2);
return 0;
}
