Pagini recente » Cod sursa (job #2305746) | Cod sursa (job #61363) | Cod sursa (job #1540655) | Cod sursa (job #1176511) | Cod sursa (job #406857)
Cod sursa(job #406857)
#include <fstream>
using namespace std;
double atac[64],pos=0.0;
int n,k,combinare[64][64];
ifstream f("dezastru.in");
ofstream o("dezastru.out");
void bkt(int p,int init,double poz)
{
if (p==k)
{
pos+=poz;
return;
}
for (int i=init;i<=n-k+p;i++)
bkt(p+1,i+1,poz*atac[i]);
}
int main()
{
int i,j;
f>>n>>k;
for (i=0;i<n;i++)
f>>atac[i];
bkt(0,0,1);
for (i=0;i<=n;i++)
{
combinare[i][0]=1;
for (j=1;j<=i;j++)
combinare[i][j]=combinare[i-1][j]+combinare[i-1][j-1];
}
o<<pos/combinare[n][k];
return 0;
}