Advertisement
Mihai_Preda

Untitled

Mar 8th, 2021
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.64 KB | None | 0 0
  1. #include<iostream>
  2. #include<fstream>
  3. using namespace std;
  4.  
  5. int n, v[26], k;
  6. double p[26], s, fact[26];
  7.  
  8. void backtr(int poz, double inm)
  9. {
  10.     if(poz == k + 1)
  11.     {
  12.         s += inm;
  13.         return;
  14.     }
  15.  
  16.     for(int i = v[poz - 1] + 1; i <= n; i++)
  17.     {
  18.         v[poz] = i;
  19.         backtr(poz + 1, inm * p[i]);
  20.     }
  21.  
  22.  
  23. }
  24.  
  25. int main()
  26. {
  27.     ifstream in("dezastru.in");
  28.     ofstream out("dezastru.out");
  29.     in>>n>>k;
  30.     for(int i = 1; i <=n; i++)
  31.         in>>p[i];
  32.     fact[1] = 1;
  33.     for(int i = 2; i <= n; i++)
  34.         fact[i] = fact[i-1] * i;
  35.     backtr(1, fact[n-k] * fact[k]);
  36.     out<<s/fact[n];
  37.     return 0;
  38. }
  39.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement