Pagini recente » Cod sursa (job #613478) | Cod sursa (job #2503833) | Cod sursa (job #817073) | Cod sursa (job #1778317) | Cod sursa (job #639604)
Cod sursa(job #639604)
#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 type()
{
for(int i=0; i<n; i++)
printf("%d ",st[i]);
printf("\n");
}
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();
//type();
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");
fprintf(f,"%0.6f", s/contor);
return 0;
}