Pagini recente » Cod sursa (job #159898) | Cod sursa (job #2360140) | Problema satisfiabilității formulelor logice de ordinul doi | Problema satisfiabilității formulelor logice de ordinul doi | Cod sursa (job #133614)
Cod sursa(job #133614)
#include <fstream.h>
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
float a[100],v[100];
int n,K;
long nr=0;
float P=0,S=0,R;
void citire()
{
fin>>n>>K;
for (int i=0;i<n;i++)
fin>>a[i];
fin.close();
}
void back (int k)
{
if (k==K)
{
P+=S*(R);
nr++;
return ;
}
for (int i=0;i<n;i++)
if (v[i]!=1)
{
S*=a[i];
v[i]=1;
back(k+1);
S/=a[i];
v[i]=0;
}
}
int main ()
{
citire();
S=1;
R=(n-K)*(n-K+1)/2;
P=0;
back(0);
P/=nr;
fout<<(long long)P<<".";
P=P-(long long )P;
P*=1000000;
fout<<(long long) P<<"\n";
fout.close();
return 0;
}