Advertisement
BojidarDosev

Untitled

Jan 6th, 2024
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. #include <iostream>
  2. #include <unordered_set>
  3. #include <limits>
  4.  
  5. int symmetricDifferenceCount(int sizeA, int sizeB, const std::string& setA, const std::string& setB) {
  6. std::unordered_set<char> setA_chars(setA.begin(), setA.end());
  7. std::unordered_set<char> setB_chars(setB.begin(), setB.end());
  8.  
  9. std::unordered_set<char> symmetricDifference;
  10.  
  11. for (char element : setA_chars) {
  12. if (setB_chars.find(element) == setB_chars.end()) {
  13. symmetricDifference.insert(element);
  14. }
  15. }
  16.  
  17. for (char element : setB_chars) {
  18. if (setA_chars.find(element) == setA_chars.end()) {
  19. symmetricDifference.insert(element);
  20. }
  21. }
  22.  
  23. return symmetricDifference.size();
  24. }
  25.  
  26. int main() {
  27. int sizeA, sizeB;
  28.  
  29.  
  30.  
  31. std::cin >> sizeA;
  32.  
  33. std::cin >> sizeB;
  34.  
  35.  
  36. if (sizeA < 0 || sizeB < 0 || sizeA > 20 || sizeB > 20) {
  37. std::cout << "Invalid input data!" << std::endl;
  38. return 0;
  39. }
  40.  
  41.  
  42. std::string setA, setB;
  43.  
  44. std::cin >> setA;
  45.  
  46.  
  47. std::cin >> setB;
  48.  
  49.  
  50. int result = symmetricDifferenceCount(sizeA, sizeB, setA, setB);
  51. std::cout << result << std::endl;
  52.  
  53. return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement