Pagini recente » Cod sursa (job #1504797) | Cod sursa (job #2651819) | Cod sursa (job #582916) | Cod sursa (job #544581) | Cod sursa (job #639605)
Cod sursa(job #639605)
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <fstream>
using namespace std;
FILE *f;
int n,k,m,st[25],contor = 0;
float a[25],s = 0;
void solve()
{
float p = 1;
contor++;
for(int i=0; i<m; i++)
p *= a[st[i]-1];
s += p;
}
int valid(int k, int c)
{
for(int i=0; i<k; i++)
if(st[i] == c)
return 0;
return 1;
}
void back(int k)
{
if(k == n)
solve();
else
for(int i=1; i<=n; i++)
if(valid(k,i))
{
st[k] = i;
back(k+1);
}
}
int main()
{
f = fopen("dezastru.in","r");
fscanf(f,"%d %d", &n,&m);
for(int i=0; i<n; i++)
fscanf(f,"%f", &a[i]);
back(0);
f = fopen("dezastru.out","w");
float x = s/contor;
fprintf(f,"%0.6f", x);
return 0;
}