Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- using namespace std;
- int n, v[26], k;
- double p[26], s, fact[26];
- void backtr(int poz, double inm)
- {
- if(poz == k + 1)
- {
- s += inm;
- return;
- }
- for(int i = v[poz - 1] + 1; i <= n; i++)
- {
- v[poz] = i;
- backtr(poz + 1, inm * p[i]);
- }
- }
- int main()
- {
- ifstream in("dezastru.in");
- ofstream out("dezastru.out");
- in>>n>>k;
- for(int i = 1; i <=n; i++)
- in>>p[i];
- fact[1] = 1;
- for(int i = 2; i <= n; i++)
- fact[i] = fact[i-1] * i;
- backtr(1, fact[n-k] * fact[k]);
- out<<s/fact[n];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement