Из цикла "Олимпиады по программированию"
В пору делать еще один раздел у меня на канале, это раздел об олимпиадных задачах по программированию. Пока это только вторая статья и она укладывается в русло рекурсивного программирования. Но видимо будут статьи о разных олимпиадных задачах, так что все отлично - без работы я не сижу.
Вообще работать с олимпиадниками одно удовольствие. Я обычно прорешиваю задачи, даже если они и не мои. Вот на одной из последних олимпиад для школьников был такой случай. Была одна задача. Не столь уж сложная. Я решил ее на Python. Начал проверять по тестам. Тесты с большими данными не проходят. Вот не могу добиться одной секунды выполнения. Проверил на сервере, где должна была автоматически проверятся программа. Не проходит. Добился 1.4 с, но меньше никак. Бился бился, выжал из алгоритма ну все - 1.3 с. Переписал решение на C, выполняется за 0.2 с. Ну я и успокоился. Началась олимпиада. Смотрю один мальчик все решает на Python. Ну я так руки потираю: посмотрим, что у тебя будет в этой задаче. И что вы думаете? Доходит до этой задачи. Минут 20 повозился с ней. И оп, программа все тесты прошла. В том числе и тот, на котором я споткнулся. Прошла где-то за 0.98 с. Ну я только руками развел. |