Условие
Палиндром - это слово, фраза или последовательность символов, которая читается одинаково как с начала, так и с конца (например, "ротор" или "мадам"). Вам нужно написать программу, которая определит, можно ли из заданной строки сделать палиндром путем перестановки ее символов.
Входные данные
Строка, состоящая из букв латинского алфавита (от a до z).
Выходные данные
Вывести строку 'YES', если можно переставить символы так, чтобы получить палиндром, и 'NO' в противном случае.
Контрольный пример
Вход: "aab"
Выход: "YES" (можно сделать "aba")
Вход: "abc"
Выход: "NO"
Вход: "racecar"
Выход: "YES" (это уже палиндром)
Вход: "aaa"
Выход: "YES"
Критерий оценивания
Любой язык программирования.
В соревновании победит самое короткое по символам решение (пробелы и переносы - тоже символы).
Ответ победителя будет отмечен верным. Ответ автора вопроса не будет фигурировать при выборе победителя.
Срок соревнования - 7 дней, конец 10.10.2023 в 8:00 по МСК
P.S.
Просьба указывать язык в заголовке ответа и количество символов программы через запятую.
Таблица лидеров (код формы результатов взял отсюда)
execute("ru.stackoverflow.com", "1543735");
.cssload-container,.cssload-cube{width:97px;height:97px;transform-style:preserve-3d}.cssload-container,.cssload-cube,.cssload-half1,.cssload-half2{transform-style:preserve-3d}.cssload-container{position:relative;margin:23px 84px;perspective:292px}.cssload-cube{animation:cube 11.5s forwards infinite;transform-origin:center 49px}.cssload-half1,.cssload-s1{top:0;transform-origin:50% 100%}.cssload-half1{height:39px;position:absolute;animation:half-fold 11.5s forwards infinite}.cssload-side{width:19px;height:19px;background:#ddd;position:absolute}.cssload-s1{left:39px;animation:s1ani 11.5s forwards infinite}.cssload-s2,.cssload-s3,.cssload-s4{left:39px;transform-origin:50% 0}.cssload-s2{top:19px;animation:s2ani 11.5s forwards infinite}.cssload-s3{top:39px;animation:s3ani 11.5s forwards infinite}.cssload-s4{top:58px;animation:s4ani 11.5s forwards infinite}.cssload-s5{left:19px;top:19px;transform-origin:100% 50%;animation:s5ani 11.5s forwards infinite}.cssload-s6{left:58px;top:39px;transform-origin:0 50%;animation:s6ani 11.5s forwards infinite}@keyframes cube{0%,30%{transform:rotateX(0)}40%{transform:rotateX(45deg) rotateY(0) rotate(45deg)}60%{transform:rotateX(60deg) rotateY(0) rotate(45deg)}65%,70%{transform:rotateX(60deg) rotate(45deg) rotate(180deg)}75%,80%{transform:rotateX(60deg) rotate(45deg) rotate(1turn)}90%{transform:rotateX(0) rotate(0) rotate(0)}}@keyframes s1ani{0%{opacity:1;transform:translateY(0);background:#ddd}40%{transform:rotateX(0);background:#ddd}50%{transform:rotateX(-90deg);background:#ddd}90%{transform:rotateX(-90deg)}}@keyframes s2ani{0%{opacity:0;transform:rotateX(-179deg)}10%{opacity:1;transform:rotateX(0)}40%{background:#ddd}45%,80%{background:#b4b4b4}65%{opacity:1;background:#b4b4b4}90%{opacity:1}to{opacity:0}}@keyframes s3ani{0%,10%{opacity:0;transform:rotateX(-179deg)}20%,90%{opacity:1;transform:rotateX(0)}40%{background:#ddd}45%{background:#969696}to{opacity:0}}@keyframes s4ani{0%,20%{opacity:0;transform:rotateX(-179deg)}10%,to{opacity:0}30%{opacity:1;transform:rotateX(0)}40%{transform:rotateX(0);background:#ddd}50%{transform:rotateX(90deg);background:#b4b4b4}80%{background:#b4b4b4}90%{opacity:1;transform:rotateX(90deg)}}@keyframes s5ani{0%,10%{opacity:0;transform:rotateY(-179deg)}20%{opacity:1;background:#ddd;transform:rotateY(0)}40%{transform:rotateY(0)}50%{transform:rotateY(90deg)}55%{background:#ddd}60%{background:#c8c8c8}90%{transform:rotateY(90deg);opacity:1}to{opacity:0}}@keyframes s6ani{0%,20%{opacity:0;transform:rotateY(179deg)}30%{opacity:1;transform:rotateY(0)}40%{transform:rotateY(0)}50%{transform:rotateY(-90deg);background:#ddd}60%,80%{background:#c8c8c8}90%{opacity:1;transform:rotateY(-90deg)}to{opacity:0}}@keyframes half-fold{0%,50%{transform:rotateX(0)}60%,90%{transform:rotateX(-90deg)}}
<script src="https://mayorovp.github.io/codegolf/table-8c505e68f1349e4c69e7.js"></script>
<div class=cssload-container><div class=cssload-cube><div class=cssload-half1><div class="cssload-side cssload-s1"></div><div class="cssload-side cssload-s2"></div><div class="cssload-side cssload-s5"></div></div><div class=cssload-half2><div class="cssload-side cssload-s3"></div><div class="cssload-side cssload-s4"></div><div class="cssload-side cssload-s6"></div></div></div></div>
Результаты и объявление победителей:
В начале хочется выразить огромные благодарности всем участникам данного соревнования за боевой дух и креативность! Представленные решения вызывают восторг и восхищение.
Особая благодарность @Зонтик за вовлеченность в модерацию и редактуру ответов.
1 место: @Stanislav Volodarskiy, Ruby, 56 символов!
2 место: @Чёткая Четырка, Python, 57 символов!
3 место: @Алексей Р, Python, 63 символа!
Всем спасибо за участие!






#includeили просто функция? Нет, я участвовать не собираюсь (раз уж общий счет для любого языка), но сама постановка... – Harry Oct 03 '23 at 06:08prompt, в c++(если не ошибаюсь)cin. Выовод в c++cout, в pythonprint, в jsconsole.log... т.е. есть языки, которые по символам проигрывают заранее... названия методов это отдельная история. – SwaD Oct 03 '23 at 06:10aдоz), при этом одиночный символ - палиндром. – Acinit Oct 04 '23 at 03:59head -c-1 temp.py > temp_.py), код продолжит нормально работать. – Stanislav Volodarskiy Oct 04 '23 at 07:38aдоz– Acinit Oct 10 '23 at 04:04