aboutsummaryrefslogtreecommitdiff
path: root/10_advanced_techniques/hamming_distance_2136.cpp
diff options
context:
space:
mode:
Diffstat (limited to '10_advanced_techniques/hamming_distance_2136.cpp')
-rw-r--r--10_advanced_techniques/hamming_distance_2136.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/10_advanced_techniques/hamming_distance_2136.cpp b/10_advanced_techniques/hamming_distance_2136.cpp
new file mode 100644
index 0000000..a4b0b7d
--- /dev/null
+++ b/10_advanced_techniques/hamming_distance_2136.cpp
@@ -0,0 +1,22 @@
1#include <algorithm>
2#include <bit>
3#include <iostream>
4#include <vector>
5
6int main() {
7 unsigned n, k;
8 std::cin >> n >> k;
9 std::vector<unsigned> a(n);
10 for (unsigned i = 0; i < n; i++) {
11 for (unsigned j = 0, p = 1; j < k; j++, p <<= 1) {
12 char c;
13 std::cin >> c;
14 if (c == '1') a[i] += p;
15 }
16 }
17 int s = k+1;
18 for (unsigned i = 0; i < n; i++)
19 for (unsigned j = i+1; j < n; j++)
20 s = std::min(s, std::popcount(a[i] ^ a[j]));
21 std::cout << s << "\n";
22}

Generated with cgit - Back to sebastiano.tronto.net