ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1050. Подготавливая статью

Hint: use Java (+)
Послано ASK 23 мар 2010 20:49
It is possible to get AC with a 10-lines program. Simply use regular expressions:

Q = "(?<!\\\\)\"" for " which is not preceded by \

".*?(?:\n\r?\n|\\\\par(?![A-Za-z])|$)" for paragraph (note \r)

For each paragraph you get with Scanner.findWithinHorizon, do replaceAll matching Q+"(.*?)"+Q with "``$1''" and then replaceFirst Q with an empty string.

Btw, the real TeX parsing is much more complicated, e.g., \\par would not end a paragraph.