Cod sursa(job #254109)
| Utilizator | Data | 6 februarie 2009 19:47:24 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<iostream>
#include<stdio.h>
#define f(i,a,b) for(i=a;i<=b;i++)
FILE *f=fopen("dezastru.in","r"),*g=fopen("dezastru.out","w");
float a[30];double aux=1,rez;
double b[30][30];
int main()
{
int i,j,i1,n,k,aux;
double nr;b[0][0]=1;
fscanf(f,"%d%d",&n,&k);
f(i,1,n)
fscanf(f,"%f",&a[i]),b[0][i]=1;
f(i,1,k)
f(j,1,n)
b[i][j]=b[i-1][j-1]*a[j]+b[i][j-1];
aux=n-k;nr=b[k][n];
f(i,2,aux)
nr*=i;
f(i,k+1,n)
nr/=i;
fprintf(g,"%6lf",nr);
return 0;
}