HAM12 - VOI 2012 Khoảng cách Hamming

Tác giả: flashmt

Ngôn ngữ: C++

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

int n,m,k,ans;
char a[1010],b[1010];

int hamming(int x)
{
	int res=0;
	for (int i=0;i<m && res<ans;i++,x++)
	{
		if (x==n) x=0;
		res+=(a[x]!=b[i]);
	}
	return res;
}

int main()
{
	cin >> n >> m >> k;
	ans=m;
	scanf("%s",&a);
	while (k--) 
	{
		scanf("%s",&b);
		for (int i=0;i<n;i++) ans=min(ans,hamming(i));
	}
	cout << ans << endl;
}

Download