Pagini recente » Cod sursa (job #2719960) | Cod sursa (job #2296804) | Cod sursa (job #3282624) | Cod sursa (job #1732014) | Cod sursa (job #1022817)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int v[1000000],n,k,nr=0;
double a[1000000],b[260];
int sol(int p)
{
return (p==n);
}
void retine(int p)
{
int i;
nr++;
a[nr]=1;
for(i=1;i<=k;i++)
a[nr]=b[v[i]]*a[nr];
}
int cont(int p)
{
int i;
for(i=1;i<p;i++)
if(v[i]==v[p])
return 0;
return 1;
}
void back(int p)
{
int i;
for(i=1;i<=n;i++)
{
v[p]=i;
if(cont(p))
if(sol(p))
retine (p);
else back(p+1);
}
}
int main()
{
f>>n>>k;
double sum=0;
int i;
for(i=1;i<=n;i++)
f>>b[i];
back(1);
for(i=1;i<=nr;i++)
{
a[i]=a[i]/6;
sum=sum+a[i];
}
g<<sum;
return 0;
}