(Примечание: это более легкое выделение из моего предыдущего задания « Найди слова бесконечности!» , Которое является ответвлением от моего другого предыдущего задания « Найти закрученные слова!» :))
Определение волнистого слова :
- Если вы соедините кривыми все символы Волнистого Слова в алфавите (AZ), вы получите путь волны, непрерывно идущей вправо или влево и никогда не меняющей направления, как на рисунках ниже.
- Волнистые Слово может быть:
- Повышение, если каждый последующий символ находится справа (по алфавиту) от предыдущего.
- Уменьшение, если каждый последующий символ находится слева (на алфавите) от предыдущего.
- Все четные соединения должны быть отключены, все нечетные соединения должны быть отключены.
- Вы можете игнорировать верхний / нижний регистр или рассматривать / конвертировать все в верхний регистр или все в нижний регистр.
- Вводимые слова - это только символы в диапазоне алфавита AZ, без пробелов, знаков пунктуации или символов.
- Если слово содержит двойные символы, такие как «SPOON», вы должны свернуть двойные символы до одного символа: «SPOON»> «SPON» (потому что при переходе от O к O это нулевое расстояние).
- В Слова Волнистые будет содержать , по крайней мере , 3 различных символов (даже после того, как двойники коллапса).
Вот несколько примеров:
Задача:
Напишите полную программу или функцию, которая будет принимать слово из стандартного ввода и выводить, если оно является волнистым или нет, и в положительном случае выводить, если оно увеличивается или уменьшается . Выход может быть True/False/Null
, 2/1/0
, 1/Null/0
, -1/0/1
, NO/WR/WD
и т.д., вы решаете , как представить его.
Тестовые случаи:
WAVY WORDS:
ADEPT, BEGIN, BILL, BOSS, BOOST, CHIMP,
KNOW, SPONGE, SPOON, TROLL, WOLF
ADEPT > YES > RAISING
BEGIN > YES > RAISING
BILL > YES > RAISING
BOSS > YES > RAISING
BOOST > YES > RAISING
CHIMP > YES > RAISING
KNOW > YES > RAISING
SPONGE > YES > DECREASING
SPOON > YES > DECREASING
TROLL > YES > DECREASING
WOLF > YES > DECREASING
NOT WAVY WORDS:
WATCH, EARTH, NINON, FOO, BAR, WAVE, SELECTION,
YES, NO, DEFINITION, WATER, WINE, CODE, AAAHHHH, I, MM, ABCA
Правила:
- Самый короткий код выигрывает.
Необязательная задача:
Найдите в списке как можно больше волнистых слов в английском словаре, а также самое длинное. Вы можете взять, например, в качестве ссылки полный список английских слов здесь .
NO
и FOO
не являются действительными входными данными по вашим правилам.
NOT WAVY WORDS
разделе, хотя, это правильно ..