Решение задачи Майк и палиндром с Codeforces

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


У Майка имеется строка s состоящая только из маленьких букв латинского алфавита. Он хочет изменить ровно один символ из строки так, чтобы результирующая строка стала палиндромом.

Палиндром это строка, которая читается в две стороны одинаково. Например строки «z», «aaa», «aba», «abccba» палиндромы, а строки «codeforces», «reality», «ab» нет.

Код

#include<bits/stdc++.h>
using namespace std;
int n,c;
string s;
int main()
{
	cin >> s;
	n =s.size();
	for(int i = 0; i < (n + 1)/2; i++)
	{
		if(s[i] != s[n - i - 1])
			c++;
	}
	if(c == 1||(c == 0 && n % 2))
		cout << "YES";
	else
		cout << "NO";
	return 0;
}

         

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



Комментарии

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