Решение задачи "Равноудалённая строка" с Codeforces

Без пояснения   Просмотров: 21


Маленькая девочка Сьюзи любит строки. Сегодня она занимается измерением расстояния между ними. Поскольку Сьюзи всё же маленькая девочка, в её строках присутствуют только нули и единицы. Она использует определение расстояния Хэмминга:

Расстоянием между двумя строками s и t равной длины, состоящими из нулей и единиц, будем называть количество позиций i, таких что s i не равно t i.

Поскольку, кроме всего прочего, Сьюзи любит симметрию, она хочет найти для двух строк s и t длины n такую строку p длины n, чтобы расстояние от p до s было равно расстоянию от p до t.

Сьюзи уже пора идти спать, помогите ей быстрее найти такую строку p или сообщите, что это невозможно.

Код

#include<bits/stdc++.h>
using namespace std;

string s,t;
bool b;
int c,n;

int main()
{
	cin>>s>>t;
	n=s.size();
	for(int i=0;i<n;i++)
	{
		if(s[i]!=t[i])
			c++;
	}
	if(c%2)
	{
		cout<<"impossible";
		return 0;
	}
	for(int i=0;i<n;i++)
	{
		if(s[i]!=t[i])
		{
			if(b)
				cout<<s[i];
			else
				cout<<t[i];
			b=!b;
		}
		else
			cout<<s[i];
	}
	return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться