Pull to refresh

C Днем Программиста!

Abnormal programming *
    ''=~(        '(?{'        .('`'        |'%')        .('['        ^'-')
    .('`'        |'!')        .('`'        |',')        .'"'.        '\\$'
    .'=='        .('['        ^'+')        .('`'        |'/')        .('['
    ^'+')        .'||'        .(';'        &'=')        .(';'        &'=')
    .';-'        .'-'.        '\\$'        .'=;'        .('['        ^'(')
    .('['        ^'.')        .('`'        |'"')        .('!'        ^'+')
   .'_\\{'      .'(\\$'      .';=('.      '\\$=|'      ."\|".(      '`'^'.'
  ).(('`')|    '/').').'    .'\\"'.+(    '{'^'[').    ('`'|'"')    .('`'|'/'
 ).('['^'/')  .('['^'/').  ('`'|',').(  '`'|('%')).  '\\".\\"'.(  '['^('(')).
 '\\"'.('['^  '#').'!!--'  .'\\$=.\\"'  .('{'^'[').  ('`'|'/').(  '`'|"\&").(
 '{'^"\[").(  '`'|"\"").(  '`'|"\%").(  '`'|"\%").(  '['^(')')).  '\\").\\"'.
 ('{'^'[').(  '`'|"\/").(  '`'|"\.").(  '{'^"\[").(  '['^"\/").(  '`'|"\(").(
 '`'|"\%").(  '{'^"\[").(  '['^"\,").(  '`'|"\!").(  '`'|"\,").(  '`'|(',')).
 '\\"\\}'.+(  '['^"\+").(  '['^"\)").(  '`'|"\)").(  '`'|"\.").(  '['^('/')).
 '+_,\\",'.(  '{'^('[')).  ('\\$;!').(  '!'^"\+").(  '{'^"\/").(  '`'|"\!").(
 '`'|"\+").(  '`'|"\%").(  '{'^"\[").(  '`'|"\/").(  '`'|"\.").(  '`'|"\%").(
 '{'^"\[").(  '`'|"\$").(  '`'|"\/").(  '['^"\,").(  '`'|('.')).  ','.(('{')^
 '[').("\["^  '+').("\`"|  '!').("\["^  '(').("\["^  '(').("\{"^  '[').("\`"|
 ')').("\["^  '/').("\{"^  '[').("\`"|  '!').("\["^  ')').("\`"|  '/').("\["^
 '.').("\`"|  '.').("\`"|  '$')."\,".(  '!'^('+')).  '\\",_,\\"'  .'!'.("\!"^
 '+').("\!"^  '+').'\\"'.  ('['^',').(  '`'|"\(").(  '`'|"\)").(  '`'|"\,").(
 '`'|('%')).  '++\\$="})'  );$:=('.')^  '~';$~='@'|  '(';$^=')'^  '[';$/='`';

Поздравляю Вас с праздником, дорогие коллеги!


А не порезвиться ли нам с кодом в честь праздника?

Предлагаю либо кратко(по правилам codegolf), либо изящным ASCII-артом, либо просто весело c юмором решить вот такую вот задачку:
Дано текстовое сообщение с поздравлением(«С днем программиста!»). К сожалению набор сообщения осуществлялся на неисправной клавиатуре: клавиши очень сильно залипали и символы напечатались по несколько раз. Необходимо преобразовать это неправильное сообщение в несколько одинаковых «правильных» предложений. При этом следует учитывать, что символов можно использовать ровно столько, сколько их было в исходном, поэтому при исчерпании символов вместо них вставлять пробелы.

Пример:
вход:
«ССС дддннннннеееееемммм ппппппрррррооооооггггггрррррааааааммммммммииииииссссссттттттаааааа!!!!!!»
выход:
С днем программиста!
С днем программиста!
С днем программиста!
   нем программиста!
   не  програ  иста!
   не  п ог а  иста!


PS. Для усложнения можно перепутать порядок букв и исходном сообщении.
PPS. Разработчики БД могут считать, что входом является таблица, состоящая из односимвольного поля и содержащая введенный текст посимвольно.
PPPS. ASCII-арт в топике — это 99 бутылок пива к хабрафуршету в честь праздника :)
PPPPS. Хабрачитатели могут слать мне решения на programmers.day@gmail.com
Tags:
Hubs:
Total votes 240: ↑211 and ↓29 +182
Views 3.7K
Comments 318
Comments Comments 318