Pagini recente » Cod sursa (job #693885) | Cod sursa (job #2258477) | Cod sursa (job #851854) | Cod sursa (job #1229652) | Cod sursa (job #1252790)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int per[30];
float n,k,v[30],nr,pro;
int ver(int e)
{
int i,j,ok;
ok=1;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(per[i]==per[j])
ok=0;
return ok;
}
void prob()
{
int i,j;
float pc;
pc=1;
for(i=1;i<=k;i++)
pc=pc*v[per[i]];
//pc=pc/nr;
pro=pro+pc;
}
void perm(int x)
{
int i,j;
for(i=1;i<=n;i++)
{
per[x]=i;
if(x==n)
{
if(ver(x)==1)
prob();
}
else perm(x+1);
}
}
int main ()
{
int i,j;
f>>n>>k;
for(i=1;i<=n;i++)
f>>v[i];
nr=1;
pro=0;
for(i=2;i<=n;i++)
nr=nr*i;
perm(1);
g.precision(7);
g<<fixed<<pro/nr;
}