Advertisement
KekLolChebureck

kek.cpp

Mar 20th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. #include <iostream>
  2. #include <functional>
  3. #include <algorithm>
  4. #include <vector>
  5. #include <set>
  6. #include <string>
  7. #include <list>
  8. #include <map>
  9. using namespace std;
  10.  
  11. #define mp make_pair
  12.  
  13.  
  14. double res = 0;
  15.  
  16.  
  17. int find(int x, vector<int> v) {
  18. int count = 0;
  19. for (int i = 0; i < v.size(); ++i) {
  20. count += v[i] == x;
  21. }
  22. return count;
  23. }
  24. set<vector<int>> s;
  25. void rec(vector<int> a,vector<int> v, double sum, double p,int d) {
  26. if (d == 3) {
  27. auto it = s.find(a);
  28. if (it != s.end()) return;
  29. s.insert(a);
  30. for (int i = 0; i < a.size(); ++i) {
  31. cout << a[i] << " ";
  32. }
  33. cout << p;
  34. cout << "\n\n";
  35. res += (sum*p);
  36. return;
  37. }
  38. for (int i = 0; i < v.size(); ++i) {
  39. int x = v[i];
  40. v.erase(v.begin() + i);
  41. a.push_back(x);
  42. rec(a,v,sum+x,p*((double)find(x, v) + 1) / (v.size() + 1),d+1);
  43. a.pop_back();
  44. v.insert(v.begin() + i,x);
  45. }
  46. }
  47.  
  48. int main() {
  49. #ifdef _KOCH
  50. // freopen("read.txt", "r", stdin);
  51. #else
  52. // freopen("multimap.in", "r", stdin);
  53. // freopen("multimap.out", "w", stdout);
  54. #endif
  55. ios::sync_with_stdio(0);
  56. cin.tie(0);
  57. cout.tie(0);
  58. int n;
  59. cin >> n;
  60. vector<int> v(n);
  61. for (int i = 0; i < n; ++i) {
  62. cin >> v[i];
  63. }
  64. int sum = 0;
  65. vector<int> a;
  66. rec(a,v, 0, 1,0);
  67. return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement