aboutsummaryrefslogtreecommitdiff
path: root/challenge-127/deadmarshal/cpp/ch-1.cpp
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2023-11-05 00:27:05 +0000
committerGitHub <noreply@github.com>2023-11-05 00:27:05 +0000
commit4b7f4bb6bad4573026f7f052e5b27510ac316568 (patch)
tree60a1f3b36168d59887000a8499c44d0286ff913e /challenge-127/deadmarshal/cpp/ch-1.cpp
parentdd6ed466cdbd98940925049e69093dee658a6d08 (diff)
parent3c934ca8f0f3d6122863c26dc4d726965a37ed1c (diff)
downloadperlweeklychallenge-club-4b7f4bb6bad4573026f7f052e5b27510ac316568.tar.gz
perlweeklychallenge-club-4b7f4bb6bad4573026f7f052e5b27510ac316568.tar.bz2
perlweeklychallenge-club-4b7f4bb6bad4573026f7f052e5b27510ac316568.zip
Merge pull request #8990 from deadmarshal/TWC127
TWC127
Diffstat (limited to 'challenge-127/deadmarshal/cpp/ch-1.cpp')
-rw-r--r--challenge-127/deadmarshal/cpp/ch-1.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/challenge-127/deadmarshal/cpp/ch-1.cpp b/challenge-127/deadmarshal/cpp/ch-1.cpp
new file mode 100644
index 0000000000..b6cf02bb6a
--- /dev/null
+++ b/challenge-127/deadmarshal/cpp/ch-1.cpp
@@ -0,0 +1,30 @@
+#include<iostream>
+#include<vector>
+#include<set>
+
+template<typename T>
+bool is_disjoint(const std::set<T> &s1,
+ const std::set<T> &s2)
+{
+ for(auto it = s1.cbegin(); it != s1.cend(); ++it)
+ if(s2.count(*it)) return false;
+ return true;
+}
+
+template<typename T>
+bool disjoint_sets(const std::vector<T> &vec1,
+ const std::vector<T> &vec2)
+{
+ return is_disjoint<T>({vec1.cbegin(),vec1.cend()},
+ {vec2.cbegin(),vec2.cend()});
+}
+
+int main()
+{
+ std::vector<int> vec1{1,2,5,3,4},vec2{4,6,7,8,9};
+ std::vector<int> vec3{1,3,5,7,9},vec4{0,2,4,6,8};
+ std::cout << std::boolalpha << disjoint_sets<int>(vec1,vec2) << '\n'
+ << disjoint_sets<int>(vec3,vec4) << '\n';
+ return 0;
+}
+