Pagini recente » Cod sursa (job #208138) | Cod sursa (job #619755) | Cod sursa (job #2370682) | Cod sursa (job #2802110) | Cod sursa (job #155349)
Cod sursa(job #155349)
#include <stdio.h>
#define NMax 30
int n, k;
double p[NMax][NMax], pos[NMax][NMax];
void citire();
void rez();
int main()
{
citire();
rez();
return 0;
}
void rez()
{
int l, x, y;
double prod = 0;
for (l=2; l<=k; l++)
{
// siruri de lungime l din l - 1
for (x=1; x<=n; x++)
{
// pun pe ultima pozitie nr X
for (y=1; y<x; y++)
{
p[x][l] += p[y][l-1];
pos[x][l] += pos[y][l-1];
}
if ( x != 1 )
p[x][l] = p[x][l] * p[x][1];
//p[x][l] = p[x][l] * p[x][1] / (x - 1);
}
}
for (x=1; x<=n; x++)
prod += p[x][k];// * pos[x][k];
printf( "%.6llf\n", prod / n );
}
void citire()
{
int i;
freopen( "dezastru.in", "rt", stdin );
freopen( "dezastru.out", "wt", stdout );
scanf( "%d %d", &n, &k );
for (i=1; i<=n; i++)
{
scanf( "%lf", &p[i][1] );
pos[i][1] = 1;
}
}