printРабочее место участника

printЗадачи

1186. Генератор паролей

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Пароль – это хитрая штука. Пользователи предпочитают простые пароли, которые легко запомнить (такие как wizard), но такие пароли небезопасны. Часто используются случайно сгенерированные пароли (такие как xvtpzyo), но пользователям их сложно запомнить, и они записывают их на листке и приклеивают к компьютеру. Одно из возможных решений заключается в генерации "выговариваемых" паролей, которые довольно безопасны и легко запоминаемы.
Компания Macrohard разработала такой генератор паролей. Ваша задача – протестировать этот генератор и убедиться, что все сгенерированные пароли удовлетворяют следующим трем правилам:
  • Пароль должен содержать как минимум одну гласную.
  • Пароль не должен содержать трех или более гласных подряд или трех или более согласных подряд.
  • Пароль не должен содержать двух одинаковых букв подряд, за исключением 'ee' или 'oo'.
В этой задаче используются только латинские буквы и к гласным относятся только буквы 'a', 'e', 'i', 'o' и 'u', а остальные буквы являются согласными. Замечание: при этих условиях многие обычные и выговариваемые слова окажутся не подходящими на роль пароля.
Входной файл содержит один или более потенциальных паролей, по одному паролю в строке. Строка, в которой содержится слово "end", является последней строкой входного файла и сигнализирует о завершении списка паролей. Каждый пароль имеет длину от 1 до 20 букв и содержит только строчные латинские буквы.
В выходной файл для каждого пароля выдать строку с информацией, является ли пароль подходящим для "выговаривания" или нет, как показано в примере. Для строки со словом "end" в выходной файл не выводится ничего.

Пример ввода

a
tv
ptoui
bontres
zoggax
wiinq
eep
houctuh
end

Пример вывода

'a' is acceptable.
'tv' is not acceptable.
'ptoui' is not acceptable.
'bontres' is not acceptable.
'zoggax' is not acceptable.
'wiinq' is not acceptable.
'eep' is acceptable.
'houctuh' is acceptable.
Источник: ACM ICPC MCRC, 2002
loading