Все знают, что новости скучные. Действительно скучно . Если только речь не идет о политиках и их скандалах. Это весело! Но, увы, политики могут совершить столько скандалов. Итак, я использую вас, чтобы сделать новости более интересными.
Цель С учетом фрагмента кода HTML выполните все найденные здесь замены , то есть на этом рисунке:
НО вы не должны редактировать какие-либо теги HTML сами. Я называю допустимым словом любое слово, которое не найдено ни в одном HTML-теге или его атрибутах. То есть вы не должны заменять <div class="smartphone">iPhone</div>
на <div class="pokedex">iPhone</div>
, а должны заменять <div>election</div>
на <div>eating contest</div>
.
Правила разбора
- РЕДАКТИРОВАТЬ Вы должны соответствовать только слова, обозначенные не словом. То есть вы должны соответствовать только полные слова. (Например, соответствует «Привет свидетель», но не «Hellowitness», «Hellowitness» или «Witnesspacelection».
- Если вы не можете набрать символ на клавиатуре, вы должны отобразить ближайший эквивалент. (Например, «Смартфон» действительно станет «Pokedex»)
- Случай первой буквы или все буквы должны быть сохранены. (Например, «Предположительно, они умерли» становится «Видимо, они умерли», «Они якобы умерли» становится «Они вроде бы умерли», а «ВЫБОР!» Становится «КОНКУРСОМ ЕДЫ!», В то время как «ПРОСТРАНСТВО» становится «Spaaace» и «NEW STUDY» становятся «Tumblr post»)
- Все случаи должны быть сопоставлены. (То есть вы должны соответствовать слову, независимо от его заглавных букв.)
- Любой случай, в котором
a <vowel>
встречается, должен статьan <vowel>
и наоборот . (Например, «сенатор» становится «эльфийским лордом»). Вам не нужно делать это для каждого экземпляра, но, по крайней мере, для собственных замен. - Все множественное число в переводе также должно сохранять плюрализм (например, «Смартфоны» становятся «pokedex», а «Пробелы» становятся «Spaaaces»)
- Все в определенном времени должно оставаться в этом времени в переводе. (Например, «Перестроен» становится «Мстителем», «Перестраивается» становится «Мстителями» и т. Д.)
- Все в единственном числе должно оставаться единичным в переводе (например, «лидер Конгресса» становится «речным духом»)
- Если запись охватывает несколько элементов HTML, вам все равно следует сопоставить ее, но вы можете «выбросить» любые промежуточные элементы. (Например,
S<b>pa</b>ace
должно стать просто "spaaace"). Если запись автономна в пределах одного элемента, она должна быть правильно сопоставлена и тег должен быть сохранен. - «Свидетелями» должны стать «Те парни, которых я знаю»
- «свидетель» должен стать «этот чувак, которого я знаю»
- «Свидетель» должен стать «Чувак, которого я знаю»
- «Не может быть достигнуто за комментарий» должно стать «Виновен, и все это знают»
- «Не может быть достигнуто за комментарий» должно стать «Виновны, и все это знают»
Бонусы
Если вы встретите -N%
бонус, ваш new amount = (old amount) * (1 - N/100)
. Итак, если вы встретили -5%
бонус с 500-байтовым кодом, ваш new amount = 500 * (1 - 5/100) = 500 * .95 = 475
.
- Бонус -5%, если для каждого экземпляра «пробел» после первой замены добавляется дополнительный «а». Итак, первая замена будет "spaaaace", вторая будет "spaaaace", третья будет "spaaaaace" и т. Д.
- Бонус -5%, если для каждого действительного номера вы заменяете этот номер ссылкой на соответствующий комикс XKCD. (Это еще не должно существовать). Если вы идете на этот бонус, вы должны соответствовать номерам , таким как
500
,3,000
,4 523
, и5.324
. (Вместо этого вы можете заменить номер изображением комикса. Если вы сделаете это, вместо-5%
бонуса вы получите a-15% bonus
. Еще один дополнительный-15%
бонус, если вы можете добавить текст заголовка к изображению, если таковой имеется. .) - Бонус -25%, если вы можете одновременно заменить все экземпляры справа и слева. (Например, «spaaace» становится «пробелом», «конкурс еды» становится «выборами» и т. Д.) Если вы выберете какой-либо из бонусов, вы сможете вернуть их в соответствующие записи. (Например,
http://www.xkcd.com/542
должно стать «542», а «spaaaaaaaace» должно стать «пространство».) - Вы можете выбрать как минимум 6 замен, но за каждую незавершенную замену (исключая бонусные замены) вы получите дополнительный штраф + 10%.
Пример ввода / вывода (без бонусов)
Input: Witnesses allegedly used their smartphones to commit the crime.
Output: These dudes I know kinda probably used their pokedex to commit the crime.
Input: Mayor Golfalot rebuilt the city after the fatal election.
Output: Mayor Golfalot avenged the city after the fatal eating contest.
Input: This <b>new study</b> shows that people in <span class="space">space</span> cannot be reached for comment.
Output: This <b>tumblr post</b> shows that people in <span class="space">spaaace</span> are guilty and everyone knows it.
Input: <b>g</b><i>oo</i><s>g</s><u>le</u> glass is terrible. :(
Output: virtual boy is terrible. :(
Input: Electric SMARTPHONES have been shown to be more productive when not used by Senators and when not used in cars.
Output: Atomic POKEDEX have been shown to be more productive when not used by Elf-lords and when not used in cats.
Input: Homeland Security has been established as an evil foundation, especially in space.
Output: Homestar runner has been established as an evil foundation, especially in spaaace.
Input: The congressional leaders are testy today.
Output: The river spirits are testy today.
Input: SPACE is not a Senator or a cAR.
Output: SPAAACE is not an Elf-lord or a cat.
Input: Mr. Biz is running for reelection.
Output: Mr. Biz is running for reelection.
Input: Google glass !
Output: Virtual boy !
Input: New (or old) study
Output: New (or old) study
Это код-гольф , поэтому выигрывает самая короткая программа в байтах.
<br/>
)