Skip to content

Latest commit

 

History

History
29 lines (18 loc) · 3.5 KB

WRITEUP.md

File metadata and controls

29 lines (18 loc) · 3.5 KB

☭: Write-Up

Насколько вы знакомы с работами Ленина?

Сайт выдает вопрос, заданный Лениным в какой-то из его работ, и просит на этот вопрос ответить.

Если эти вопросы загуглить, то почти всегда найдется источник, содержащий сразу после этого вопроса ответ на него. Вот, например:

В чем состоит экономическая основа реставрации на базисе капиталистического способа производства, т. е. не юмористической «реставрации московской Руси», а реставрации по типу французской начала XIX века? В положении мелкого товаропроизводителя во всяком капиталистическом обществе. ...

И действительно, если скопировать из работы ответ на вопрос, то "Вы коммунист на 0.0%" превратится в "Вы коммунист на 0.5%".

Осталось всего 199 вопросов!

Интересный факт: если вы будете гуглить вопросы достаточно быстро, то уложитесь в 50 минут. А если вам будут помогать остальные члены команды... Впрочем, наверное, сокомандникам еще есть чем заняться, поэтому этот процесс стоит автоматизировать. Можно экспериментально проверить, что если в качестве ответа помимо предложения, содержащего ответ на вопрос, предъявить еще несколько последующих предложений, то на корректность ответа это неповлияет, поэтому можно всегда отправлять, например, первые 500 слов, следующих сразу после вопроса. Кроме того, не обязательно автоматизировать процесс на 100%: на вопросы, на которые скрипт не нашел ответа, можно будет поискать руками.

Полное собрание сочинений Ленина можно найти, например, на https://leninism.su/works.html. Отсюда можно скачать много fb2-файлов, руками или автоматически:

for part in {01..55}; do
	wget "https://leninism.su/images/PSS/FB2/t-$part.zip"
	unzip "t-$part.zip"
	rm "t-$part.zip"
done

fb2 — это просто XML, поэтому, чтобы найти в файлах ответ на вопрос, достаточно работать с ними как с текстом, и даже формат парсить не обязательно. Для автоматизации получения очередного вопроса и ответа на него используем библиотеку requests для Python. Код полностью автоматизированного решения можно посмотреть в solution.py.

Флаг: ugra_in_soviet_russia_flags_measure_you_4fj17l3szuof.