Cod sursa(job #1983106)
| Utilizator | Data | 21 mai 2017 11:59:10 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int i,j,n,k,st[35],prob=0;
double sum=0,v[35];
inline void bktr(int val,int p,double pr)
{
st[p]=val;
if(p==k)
{
sum=sum+pr;
prob++;
}
else
{
for(int i=1;i<=n;i++)
{
int ok=1;
if(i==st[p])
ok=0;
if(ok==1 && p<k)
{
bktr(i,p+1,pr*v[i]);
}
}
}
}
int main()
{
f>>n>>k;
for(i=1;i<=n;i++)
{
f>>v[i];
}
bktr(0,0,1);
g<<fixed<<setprecision(6)<<(sum/prob);
}
