PlanttPastes

Точно решение на задачата Озборување - МЕНДО

Oct 26th, 2021 (edited)
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.84 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. void print(string str) // za debug
  4. {
  5.     // cout << str << endl;
  6.     return;
  7. }
  8. bool search_int(vector <int> arr, int value)
  9. {
  10.     print("Search integer...");
  11.     for (int x : arr)
  12.         if (x == value)
  13.             return true;
  14.     return false;
  15. }
  16. struct covek
  17. {
  18. protected:
  19.     vector <int> ozboruvanja;
  20. public:
  21.     void pravi_razgovor(covek& c)
  22.     {
  23.         print("Pravime razgovor...");
  24.         for (int i = 0; i < c.ozboruvanja.size(); i++)
  25.         {
  26.             if (!search_int(ozboruvanja, c.ozboruvanja[i]))
  27.                 ozboruvanja.push_back(c.ozboruvanja[i]);
  28.         }
  29.         for (int i = 0; i < ozboruvanja.size(); i++)
  30.         {
  31.             if (!search_int(c.ozboruvanja, ozboruvanja[i]))
  32.                 c.ozboruvanja.push_back(ozboruvanja[i]);
  33.         }
  34.         sort(ozboruvanja.begin(), ozboruvanja.end());
  35.         sort(c.ozboruvanja.begin(), c.ozboruvanja.end());
  36.         return;
  37.     }
  38.     size_t broj_na_ozboruvanja() {return ozboruvanja.size();}
  39.     void bidi_covek(const int __reden_broj)
  40.     {
  41.         ozboruvanja.clear();
  42.         ozboruvanja.push_back(__reden_broj);
  43.         return;
  44.     }
  45. };
  46. size_t max(vector <covek> v)
  47. {
  48.     size_t max = 0;
  49.     for (covek x : v)
  50.         if (max < x.broj_na_ozboruvanja())
  51.             max = x.broj_na_ozboruvanja();
  52.     return max;
  53. }
  54. int main()
  55. {
  56.     int broj_na_luge, broj_na_ozboruvanja;
  57.     cin >> broj_na_luge >> broj_na_ozboruvanja;
  58.     vector <covek> luge(broj_na_luge);
  59.     print("Vnesovme...");
  60.     for (int i = 0; i < luge.size(); i++)
  61.         luge[i].bidi_covek(i);
  62.     print("Dadovme vrednosti...");
  63.     for (int i = 0; i < broj_na_ozboruvanja; i++)
  64.     {
  65.         int a, b;
  66.         cin >> a >> b;
  67.         luge[--a].pravi_razgovor(luge[--b]);
  68.     }
  69.     cout << max(luge) - 1;
  70.     return 0;
  71. }
  72.  
Add Comment
Please, Sign In to add comment