Pagini recente » Cod sursa (job #454690) | Cod sursa (job #2886745) | Cod sursa (job #2695115) | Cod sursa (job #2086667) | Cod sursa (job #734828)
Cod sursa(job #734828)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
float v[30],S;
int n,k,st[30],m=1;
int valid(int a)
{
int i;
for(i=1; i<a; i++)
if(st[i]==st[a])
return 0;
return 1;
}
void back(int a)
{
int i,j;
float pr;
for(i=1; i<=n; i++)
{
st[a]=i;
if(valid(a)) if(a==k) {
pr=1;
for(j=1; j<=a; j++)
pr*=v[st[j]];
S+=pr/m;
}
else back(a+1);
}
}
int main()
{
int i;
f>>n>>k;
for(i=1; i<=n; i++)
{
m*=i;
f>>v[i];
}
f.close();
back(1);
g<<S;
g.close();
return 0;
}