Cod sursa(job #1846880)

Utilizator AlexandruLuchianov1Alex Luchianov AlexandruLuchianov1 Data 14 ianuarie 2017 08:40:20
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in ("dezastru.in");
ofstream out ("dezastru.out");

int n ,h;
double s = 1 ,ss = 0 ,sp = 0 ,sol = 0;
double nr[201];
bool vis[201];
void explore(int k ,int y) {
  if(k == h) {
    ss += sol;
    sp++;
  } else{
    for(int i = y + 1; i <= n; i++) {
      if(vis[i] == 0) {
        sol *= nr[i];
        vis[i] = 1;
        explore(k+1 ,i);
        sol /= nr[i];
        vis[i] = 0;
      }
    }
  }
}

int main()
{
  in>>n>>h;
  for(int i = 1 ; i <= n ;i++){
    in>>nr[i];
  }
  sol = 1;
  explore(0,0);
  out<<ss/sp;
  return 0;
}