Клиенту необходимо правильно принять переданное ему сообщение.
сообщение состоит из последовательности, составленной из букв a,b,c,d.
при передаче сообщения каждая буква кодируется последовательностью нолей и единиц, которые и по каналу.
в процессе передачи и приема в канале могут возникать ошибки.
частота появления ошибок в канале постоянна. ошибкой считается случайное изменение 0 на 1 или 1 на 0. таким образом принимается не всегда тот код, который был передан.
при декодировании принятого сигнала выбирается та буква, код которой наиболее близкой к принятому коду в смысле расстояния хэмминга.
необходимо из трех предложенных вариантов кодирования выбрать вариант правильно принимать переданное сообщение при самой высокой частоте ошибок.
формат примеров входных файлов
символ код1 код2 код3
a 000100 000101 010010
b 000110 100101 011010
c 001010 010101 001010
d 010010 001000 000100
выходной файл содержит номер наилучшего шифра:
1
using namespace std;
int main()
{
setlocale(0,""); // это что бы на русском было
cout<<" Сижу за решеткой в темнице сырой."<<endl;
cout<<"Вскормленный в неволе орел молодой,"<<endl;
cout<<"Мой грустный товарищ, махая крылом,"<<endl;
cout<<"Кровавую пищу клюет под окном,"<<endl;
cout<<"Клюет, и бросает, и смотрит в окно,"<<endl;
cout<<"Как будто со мною задумал одно;"<<endl;
cout<<"Зовет меня взглядом и криком своим"<<endl;
cout<<"И вымолвить хочет: «Давай улетим!"<<endl;
cout<<"Мы вольные птицы; пора, брат, пора!"<<endl;
cout<<"Туда, где за тучей белеет гора,"<<endl;
cout<<"Туда, где синеют морские края,"<<endl;
cout<<"Туда, где гуляем лишь ветер... да я!..»"<<endl;
return 0;
}