Pagini recente » Cod sursa (job #2364928) | Cod sursa (job #129677) | Cod sursa (job #2786162) | Cod sursa (job #1123629) | Cod sursa (job #818912)
Cod sursa(job #818912)
//infoarena-dezastru
#include<fstream>
using namespace std;
int i,n,k,perm=0,st[26];
double a[26],st_atac[26],s=0;
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
void afisare (int p)
{
s=s+st_atac[p];
perm++;
}
int valid(int p)
{
for(i=1;i<p;i++)
if(st[i]==st[p])
return 0;
return 1;
}
void back(int p)
{int pval;
for(pval=1;pval<=n;pval++)
{
st[p]=pval;
if(valid(p))
{st_atac[p]=st_atac[p-1]*a[pval];
if(p==k)
afisare(p);
else
back(p+1);
}}
}
int main()
{
cin>>n>>k;
for(i=1;i<=n;i++)
cin>>a[i];
st_atac[0]=1;
back(1);
cout<<s/(double)perm;
return 0;}