hamming_distance_2136.cpp (467B)
1 #include <algorithm> 2 #include <bit> 3 #include <iostream> 4 #include <vector> 5 6 int 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 }