Cod sursa(job #1552209)

Utilizator moowalkerMihai Turcanu moowalker Data 17 decembrie 2015 14:11:04
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;

int n,k;
float t[26];
int v[26];
float rs;
long nr_perm=1;
fstream f;
void back(int x)
{
    int i;
    if (x==k)
    {
        float prod=1;
        for (i=1;i<=k;i++)
        {
            prod*=t[v[i]];
        }
        rs+=(prod/nr_perm)*2;
    }
    else
    {
        for (i=v[x]+1;i<=n;i++)
        {
            v[x+1]=i;
            back(x+1);
        }
    }
}
main()
{
    f.open("dezastru.in",ios::in);
    f>>n>>k;
    for (int i=1;i<=n;i++)
    nr_perm*=i;
    for (int i=1;i<=n;i++)
    f>>t[i];
    back(0);
    f.close();
    f.open("dezastru.out",ios::out);
    f<<setprecision(6)<<rs;
}