Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.22 KB | None | 0 0
  1. #include <iostream>
  2. #include <set>
  3. #include <string>
  4. using namespace std;
  5.  
  6. int main() {
  7.     set <string> big_set, ans, qur;
  8.  
  9.     int n, k;
  10.     cin >> n >> k;
  11.     string s;
  12.     for (int i = 0; i < n; ++i) {
  13.         cin >> s;
  14.         if (s.size() <= k) ans.insert(s);
  15.         else {
  16.             big_set.insert(s);
  17.         }
  18.     }
  19.     string s1, s2;
  20.     while (!big_set.empty()) {
  21.         s = *big_set.begin();
  22. //        s1.assign(s, 0, k + 1);
  23. //        ans.insert(*big_set.begin());
  24. //        big_set.erase(*big_set.begin());
  25. //        for (auto i: big_set) {
  26. //            s2.assign(i, 0, k + 1);
  27. //            if (s1 == s2) big_set.erase(i);
  28. //        }
  29.         s1.assign(s, 0, k + 1);
  30.         for (auto i: big_set) {
  31.             s2.assign(i, 0, k + 1);
  32.             if (s1 == s2) qur.insert(i);
  33.         }
  34.         ans.insert(*qur.begin());
  35.         for (auto i: qur) big_set.erase(i);
  36.         qur.clear();
  37.     }
  38.     cout << ans.size() << endl;
  39.     for (auto i: ans) cout << i << endl;
  40.  
  41. //    string s1;
  42. //    set <string> myset;
  43. //    for (int i = 0; i < 15; ++i) {
  44. //        cin >> s1;
  45. //        myset.insert(s1);
  46. //    }
  47. //    cout << endl;
  48. //    for (auto i: myset) cout << i << endl;
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement