cses

My solution for the coding challenges of cses.fi
git clone https://git.tronto.net/cses
Download | Log | Files | Refs | README

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 }