Как Джордж Оруэлл написал в 1984 году :
Война - это мир.
Свобода - это рабство.
Невежество - это сила.
Напишите программу или функцию, которая берет одно из шести основных слов из цитаты Оруэлла и выводит свой аналог.
В частности:
[input] -> [output]
war -> peace
peace -> war
freedom -> slavery
slavery -> freedom
ignorance -> strength
strength -> ignorance
Никаких других пар ввода / вывода не требуется.
Вы должны предполагать, что слова всегда полностью строчные, как указано выше. В качестве альтернативы, вы можете считать , что слова всегда полностью в верхнем регистре: WAR -> PEACE, PEACE -> WARи т.д.
Самый короткий код в байтах побеждает.
w p f s i) больше нигде не встречаются ни в одном из слов. Интригующая собственность.

Мы начинаем с того, что помещаем в стек все возможные выходные строки с нулевым завершением. Эта последовательность выполняется справа налево, поэтому значения перемещаются в обратном порядке, поскольку в этом порядке символы будут необходимы, когда они в конечном итоге будут выведены.
Затем мы читаем первые два символа из stdin, и это все, что нам нужно для идентификации входной строки. Если мы возьмем значение ASCII первой буквы mod 2 плюс вторую букву mod 7, мы получим уникальное число в диапазоне от 2 до 7.
Этот номер может затем использоваться как своего рода индекс в списке строк в стеке. Мы итеративно уменьшаем индекс (в первый раз на 2), и для каждой итерации мы очищаем одну строку из стека с последовательностью
Как только индекс достигнет нуля, у нас останется правильная выходная строка в верхней части стека, поэтому мы используем простую последовательность выходных строк, чтобы записать результат в стандартный вывод.