Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <unordered_set>
- #include <limits>
- int symmetricDifferenceCount(int sizeA, int sizeB, const std::string& setA, const std::string& setB) {
- std::unordered_set<char> setA_chars(setA.begin(), setA.end());
- std::unordered_set<char> setB_chars(setB.begin(), setB.end());
- std::unordered_set<char> symmetricDifference;
- for (char element : setA_chars) {
- if (setB_chars.find(element) == setB_chars.end()) {
- symmetricDifference.insert(element);
- }
- }
- for (char element : setB_chars) {
- if (setA_chars.find(element) == setA_chars.end()) {
- symmetricDifference.insert(element);
- }
- }
- return symmetricDifference.size();
- }
- int main() {
- int sizeA, sizeB;
- std::cin >> sizeA;
- std::cin >> sizeB;
- if (sizeA < 0 || sizeB < 0 || sizeA > 20 || sizeB > 20) {
- std::cout << "Invalid input data!" << std::endl;
- return 0;
- }
- std::string setA, setB;
- std::cin >> setA;
- std::cin >> setB;
- int result = symmetricDifferenceCount(sizeA, sizeB, setA, setB);
- std::cout << result << std::endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement