Pagini recente » Cod sursa (job #2216366) | Cod sursa (job #2496707) | Cod sursa (job #1763880) | Cod sursa (job #1885966) | Cod sursa (job #214845)
Cod sursa(job #214845)
#include<stdio.h>
int n,m=0,k,sol[10001];
float a[10001],b[10001];
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;}