Pagini recente » Cod sursa (job #1796158) | Cod sursa (job #1117866) | Cod sursa (job #125784) | Cod sursa (job #784495) | Cod sursa (job #214844)
Cod sursa(job #214844)
#include<stdio.h>
int n,m=0,k,sol[101];
float a[101],b[101];
void read(){
scanf("%d%d",&n,&k);
for(int i=1; i<=n; ++i)
scanf("%f",&a[i]);}
int check(int val,int x){
for(int j=1; j<=x; ++j)
if(sol[j]==val)
return 0;
return 1;}
void back(int x){
int i;
if(x==k+1){
b[++m]=1;
for(i=1; i<=k; ++i)
b[m]*=a[sol[i]];}
else
for(i=1; i<=n; ++i)
if(check(i,x)){
sol[x]=i;
back(x+1);}}
void print(){
float prob=0;
for(int i=1; i<=m; ++i)
prob+=(float)b[i]/m;
printf("%f",prob);}
int main(){
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
read();
back(1);
print();
return 0;}