Cod sursa(job #68207)

Utilizator FlorianFlorian Marcu Florian Data 26 iunie 2007 22:58:50
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include<stdio.h>
float a[27][27],p[29],x;
int n,k,c[28][28];
FILE*f=fopen("dezastru.in","r");
FILE*g=fopen("dezastru.out","w");
/*void bug()
        {
        int i,j;
        for(i=1;i<=n;++i)
                {
                for(j=1;j<=k;++j)
                fprintf(g,"%f ",a[i][j]);
               fprintf(g,"\n");
               }
      }
  */
void read()
        {
        fscanf(f,"%d %d",&n,&k);
        int i;
        for(i=1;i<=n;++i) fscanf(f,"%f",&p[i]);
        }
void dinamic()
        {
        int i,j;
        c[0][1]=1;
        a[0][1]=1.0;
        k++;
        for(i=1;i<=n;++i)
                for(j=1;j<=k;++j)
                        {
                        c[i][j]=c[i-1][j]+c[i-1][j-1];
                        a[i][j]=a[i-1][j]+a[i-1][j-1]*p[i];
                        }

        x=(float)a[n][k]/c[n][k];
        fprintf(g,"%.6f\n",x);
        }
int main()
        {
        read();
        dinamic();
        return 0;
        }