Cod sursa(job #1974918)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 29 aprilie 2017 13:26:30
Problema Dezastru Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f ("dezastru.in");
ofstream g ("dezastru.out");
int n,viz[27],m,nr;
double suma[27],v[27],usu;
void solve(int k)
{
    for(int i=1;i<=n;++i)
    {
        if(!viz[i])
        {
            viz[i]=1;
            suma[k]=suma[k-1]*v[i];
            if(k==m)
            {
                usu=usu+suma[k];
                ++nr;
            }
            else solve(k+1);
            viz[i]=0;
        }
    }
}
int main()
{
    suma[0]=1;
    f>>n>>m;
    for(int i=1;i<=n;++i) f>>v[i];
    solve(1);
    usu=usu/(double)nr;
    g<<fixed<<setprecision(6)<<usu;
    return 0;
}