Блог пользователя Kostroma

Автор Kostroma, 13 лет назад, По-русски

Странно, что никто еще не написал (С) AlexErofeev


Давайте обсудим здесь, собственно, интернет-тур сей олимпиады

UPD упс, заметил запись о всесибе постарше, ну да ладно, там вроде особо нет обсуждения пока
  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

13 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится
Никто не знает, когда разморозят монитор?
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
в задаче В могли быть 2 одинаковых по цвету соседних участка?
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Как решать 5-ую?
  • 13 лет назад, # ^ |
      Проголосовать: нравится +10 Проголосовать: не нравится
    Для соответствия 1-му критерию (чтобы все напряжения известны стали) надо, чтобы граф составленный из ребер между узлами.
    Для соответствия 2-му критерию, чтобы для каждого из проведенного измерения (u, v) было по 3 различных пути в графе.
    Для первого критерия: просто найти первое ребро, после которого все становится связным.
    Для второго: бинпоиск и для каждого из M измерений запускать макс поток, но только не более, чем на 3 итерации. Сложность будет N * M * log(M)
    • 13 лет назад, # ^ |
        Проголосовать: нравится +22 Проголосовать: не нравится
      Для второго критерия ещё можно удалить каждое ребро по отдельности и проверить, что в графе не образуется мостов. Сложность получается M^2 * log(M), но есть подозрение, что и за M * log(M) можно сделать.
      • 13 лет назад, # ^ |
          Проголосовать: нравится -8 Проголосовать: не нравится
        Как за log проверять нет ли мостов?
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          http://www.hpl.hp.com/techreports/Compaq-DEC/SRC-TN-1997-004A.pdf
          Вот какая-то статейка нагуглиась - амортизированную O(log^4(n)) обещают, если только удаления будут.
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

          Наличие мостов мы проверяем обычным дфсом за M. log получается из бинпоиска по ответу.

          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            То есть мы просто удаляем пребро, строим граф без него, проверяем наличие мостов?

            А как тогда быть с тестом

            3 5
            1 2
            1 2
            2 3
            2 3
            2 3

            Когда мы удалим последнее ребро, мостов не будет, но ответ -1 вроде бы.

            • 13 лет назад, # ^ |
                Проголосовать: нравится +10 Проголосовать: не нравится
              Информации недостаточно не тогда, когда найдется такое удаление, что нет мостов, а тогда, когда при ЛЮБОМ удаленном ребре нет мостов.
    • 13 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Три реберно-непересекающихся пути)
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Если не ошибаюсь, то можно и за M^2 (2-ой критерий). Без бинпоиска перебирать все ребра и трижды пускать поток для каждого + запоминание(есть 3 пути или нет). Вроде M^2.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Я думал о чем-то таком, но не шарю, как нормально писать поток без матрицы смежности. У меня при таком подходе всякие множества(std::set) выскакивают, и все равно логарифм появляется. Можно чуть подробнее о реализации? 
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          На e-maxx.ru есть минкост с кратными ребрами. Можно там посмотреть.
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

          Список ребер, где у обычного ребра номер 2*i и у обратного ему 2*i+1.

          Тогда обратное ребро легко найти взяв xor 1 от номера текущего: j^1 (обратно) j.

    • 13 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Вообще второе условие эквивалентно реберной трехсвязности графа. Есть алгоритмы, проверяющие трехсвязность (и вершинную, и реберную) за линейное время. На олимпиаде вряд ли до этого можно догадаться:) желающие могут нагуглить статью. Так что время O(MlogM) вполне достижимо.
13 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится
Странно, что никто еще не написал (С) AlexErofeev

Кто-нибудь может объяснить, почему решения 5 и 8, которые заходят под mingw падают под visual C++? (tl34 и wa2 соответственно)
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    На яве решение за M^2logM тоже валится с tl34.
    Как сдать такое?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    wa2 скорее всего точность. В Visual C++ она сильно хуже (long double). 
    • 13 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      у меня было ВА2, когда в Visual C++ выводил long double cout-ом
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        В Visual long double == double
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          там не было long double
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Тогда даже не знаю. Впрочем, у нас тоже было WA2, по причине, которую мы не смогли установить (единственное предположение что я неудачник и ввел случайное число с рациональным синусом), хотя и сдали задачу. Правда на MinGW.
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

          я в курсе, да)

          просто у меня в шаблоне уже давно стоит   typedef long double ld , поэтому привык так называть

    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      А мне кажется, или под виндой для сишных программ (как msvc, так и mingw) всегда установлен double precision mode, который убивает все преимущества long double?
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        В mingw можно пользоваться long double, но вот библиотека ввода/вывода используется старая и виндовая, поэтому прочитать и вывести его стандартными средствами не получится.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Вопрос в том, не будет ли он округляться к даблу после каждой арифметической операции.
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Вопрос по B 2. Верна ли следующая эвристика?
Как-только вступили на оранжевый участок, ускоряемся по нему до конца. Как-то только вступаем на синий, немедленно прыгаем и летим до ближайшего оранжевого участка. Если оранжевых нет, то до ближайшего синего и снова прыгаем.

Закодить просто не успел.

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    вроде примерно так и делается, только еще летим по белому пока можем, если идем с синего на него
    довольно очевидно, что это работает, по-моему
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Эх. Если бы не проспал тур на 40 минут, возможно было бы 7 задач :)
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        :)
        у меня тоже около часа ушло на житейские заботы, поэтому 7-ю задачу (по количеству, не по номеру) не успел доделать
  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Если мы наступаем на синий участок, то сначала надо допрыгать до его конца, а уже потом прыгать до ближайшего оранжевого/синего участка.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
кто-нибудь знает, дорешка сих задач где-то будет?
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Да, организаторы написали, что дорешивание будет в тренировках.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Заходило ли в задаче 8 решение в вещественных числах? И если да, то в 64- или в 128-разрядных?
  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Обычные даблы заходят. А как ее в целых решать?
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Мда, а мы много времени потратили на длинную арифметику, потому и не сдали...
      Имеется в виду, что рациональные дроби нужны только для проверки, что точка лежит на кривой. Ибо мы ведь не можем навскидку сказать, насколько близко кривая, заданная тремя целочисленными точками, может проходить от другой целочисленной точки. Но, видимо, либо не слишком близко, либо тесты дырявые. Скорее первое.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +13 Проголосовать: не нравится
    я вам больше скажу, самый простой способ - использовать java.awt.geom там есть все нужные функции для работы с такими кривыми, именно так задача легко была сдана с плюса на 95 минуте
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Можно код?
      • 13 лет назад, # ^ |
          Проголосовать: нравится +10 Проголосовать: не нравится
        Мне тоже стало интересно. Немного пошарился в библиотеке и написал. Сэмпл проходит, но не знаю как будет по времени. По идее должно зайти.
        http://pastebin.com/z5qdAFGc
    • 13 лет назад, # ^ |
        Проголосовать: нравится -35 Проголосовать: не нравится
      вот дерьмо, это тоже самое, что давать задачу на длинную арифметику, которую успевает посчитать какой нибудь питон или ява
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
у всех решение 10-й - запиханная Дейкстра?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Почему запиханная? Самая обычная дейкстра.
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      ну в принципе да, но как минимум на приоритетных очередях вроде нужно было писать

      может из-за кривых рук пришлось пихать
      • 13 лет назад, # ^ |
          Проголосовать: нравится +4 Проголосовать: не нравится
        Сет+аккуратно написанные битовые операции вошли без проблем.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          понятно, значит не проходило сначала из-за того, что хранил ответы в мапе
  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Можно решать обходом в ширину. Правда, количество состояний увеличиться в 2 раза, заведем одно фиктивное состояние для каждой маски и будем туда переходить, когда увеличиваем состояние одной из кнопок на 1. Из этого фиктивного положения будет одно единственное ребро в обычное состояние для такой же маски.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      классно, спасибо )
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      не пойму, зачем фиктивное состояние? разве без него самым простым бфсом не проходило?
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Так ребра разной длины.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Все равно говорят заходило(если результат улучшился, то просто еще раз выходим из вершины).

          Вроде бы из каждой вершины не больше двух раз уходим
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Ну просто такую штуку я уже не называю самым простым бфсом)
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          ну можно решить бфсом на 0-1 графе, ну на самом деле мы сдали такое решение, как написано здесь
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    У нас самым главным запихиванием было нормальное кодирование состояния. Как только появилось это, все сразу стало летать
13 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
Как решать 7ю?
  • 13 лет назад, # ^ |
    Rev. 5   Проголосовать: нравится +4 Проголосовать: не нравится

    Ну понятно, что пока шарф не окажется на касательной к дереву, Остап бежит по окружности, это считаем отдельно.

    Далее веселая спираль.

    В любой маленький отрезок времени dt он бежит по дуге окружности. За это время шарф проворачивается на угол d(alpha).

    Угол шарфа - полярный угол вектора из начала шарфа в конец шарфа.
    Он изменяется на d(alpha) за промежуток времени dt, при этом Остап пробегает расстояние L*d(alpha). Мы можем найти, с какого полярного угла шарф начала движение, и каким углом закончил, это несложно (upd: можем, но, конечно, не надо).
    Остается проинтегрировать по углу
    integral(alpha1 to alpha2) (L(alpha)*d(alpha))
    L(alpha) линейно убывает от L0 до 0

    поэтому ответ - (alpha2-alpha1)*L0/2.

    Наверное есть более изящное объяснение такой простой формулы.

    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Спасибо!
    • 13 лет назад, # ^ |
        Проголосовать: нравится +8 Проголосовать: не нравится
      Несложно понять, что alpha2 - alpha1 = L0/r
    • 13 лет назад, # ^ |
        Проголосовать: нравится +4 Проголосовать: не нравится
          Проще, наверное, так (в общих чертах):
      Пишем положение конца шарфа через угол, учитывая укорочение этого шарфа с увеличением угла. Далее дифференцируем эти x и y по углу (там много что сокращается), берем сумму квадратов и ее интегрируем (под интегралом - линейная функция). А вообще-то я сам был немало удивлен, когда после численного  интегрирования при написании решения примерно неделю тому назад (сначала предполагал, что потребуется preculc и интерполяция)  совершенно случайно обнаружил, что ответ описывается простой  формулой l*l/(2*r). Так что задача совершенно случайно превратилась из одного жанра (численные методы) в немного другой - математический анализ.        
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      а как-нить без интегрирования можно длину спирали находить?
      • 13 лет назад, # ^ |
          Проголосовать: нравится +8 Проголосовать: не нравится
           Отвечу вопросом на вопрос : а как вообще можно находить длину кривой без интегрирования? Объяснить, может быть и получится, но реально все равно это сведется, скорее всего, к тому же интегрированию. Да и зачем изобретать велосипед? Интегрирование - вещь нехитрая, и проще, по-моему ее применить, чем изобретать что-то хитрое. Не очевидно было только одно - что подынтегральная функция будет такая простая, и поэтому интеграл от нее берется по формуле, безо всякого численного интегрирования.   
        • 13 лет назад, # ^ |
            Проголосовать: нравится -9 Проголосовать: не нравится
          В данном случае можно было обойтись без углов и интегрирования, если считать, что путь Остапа состоит из отрезков длиной dx, перпендикулярных к касательной. Тогда просто показать (ничего, кроме теоремы Пифагора) , что при передвижении на dx, L^2 уменьшается на 2*r*dx+(dx)^2. Второе слагаемое игнорируем, отсюда ответ L0^2 / (2*r).
          Гена так решил.
          • 13 лет назад, # ^ |
              Проголосовать: нравится +30 Проголосовать: не нравится
            А вам не кажется, что вы сделали тоже самое, не сказав слово "проинтегрируем"?
            • 13 лет назад, # ^ |
                Проголосовать: нравится +21 Проголосовать: не нравится
              ------------------------------------------------------------------------------
              Ага, именно так. Весьма популярный приём на школьных олимпиадах по физике, кстати. В 9-10 классе такая задача уже может встретиться, а производной по программе ещё нет. Поэтому, кстати, задача может оказаться нетривиальной и даже интересной(!)
          • 13 лет назад, # ^ |
              Проголосовать: нравится +11 Проголосовать: не нравится
                Все это то же самое, что и банальное исчисление бесконечно малых - то же самое дифференциальное и интегральное исчисление. Идея Гены ровно в том, что геометрическую часть он немного упростил, обойдясь без параметризации пути. Но это весьма несложный раздел математического анализа - его проходят даже в весьма отсталых технических ВУЗах.  
            • 13 лет назад, # ^ |
                Проголосовать: нравится +8 Проголосовать: не нравится
              Я понимаю, что здесь предел суммы, и это тоже самое. Но так можно решить задачу, даже не зная, что такое определенный интеграл, первообразная и т.п.
              Причем геометрическая часть, действительно, становится совершенно тривиальной.
              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                  Вся дискуссия сводится опять-таки ровно к проблеме, как следует решать абстрактную задачу - неважно из какой области - пытаться применить какой-либо мощный аппарат  или что-либо этакое красивое засобачить. Красивее, конечно, второе, но вот обычно получается, да и думать приходится меньше (не факт, что это лучше) при первом подходе к решению  проблемы.
                Да и вряд ли кто-нибудь решил эту задачу из числа тех тех, кто еще не знает интегрирование.      
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +1 Проголосовать: не нравится
                  =====================================
                  Да нет тут никакой дискуссии.
                  Меня самого заинтересовала эта задача, и я попытался вывести подинтегральную функцию для движения Остапа по дуге. Увидел, что все становится очень громоздко и плюнул. У Вас, как я понимаю, это тоже было непросто, если изначально предполагалось численное интегрирование.

                  А здесь я просто озвучил красивую, по-моему мнению, идею.
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится +3 Проголосовать: не нравится
                       Да нет,  все решение - три строчки обычным почерком.
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится 0 Проголосовать: не нравится
                      Как я понимаю, Вы автор. Сделайте, пожалуйста, разбор в 3 строки формул. 
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Судя по ограничениям (100000 тестов в одном инпуте) я сразу понял, что есть closed-form solution. При меньших может быть и не догадался бы =)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Вопрос по задаче №5. Мы пробовали решать так:

1) Первый критерий: ответ первое ребро при котором граф стал связен. Если такого нет - ответ на задачу "-1 -1"

2) Второй критерий. Переберем бинарным поиском ответ. Пускай мы рассматриваем некоторые mid ребер. Добавляем их в сеть. Теперь пускаем поток от первой вершины ко всем остальным(по очереди, каждый раз добавляя ребра по новой). Если хотя бы для одного стока поток меньше 3, наш текущий mid нас не устривает. Сложность выходит порядка (N*N*sqrt(M)*logM).

Я ожидал вердикт ТЛ, но мы получали ВА тест 7. Кто-то может обьяснить почему?

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Скорее бы дорешивание открыли.
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

а кто из школьников занял место выше 71го?

13 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Заставило во время контеста понервничать:

Задача 6.

"Им надо знать два числа — минимально допустимую и достаточную длины  лестницы. Минимально допустимой длины, может быть, и хватит, чтобы снять похитителя колбасы, но уж меньшей-то точно не хватит."

Кто-нибудь объяснит мне, как это надо интерпретировать, чтобы получить верное решение?

По-моему, в семпл тесте, например, лестницы длины 2 может быть и хватит, так как Федор может сидеть на скале высотой 2 - самой левой.

Мы сдали ее забив на условие и угадав решение по семпл-тесту.

  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    В условии же написано: "служитель культа в панике забирается на самую высокую скалу, находящуюся на расстоянии не более R от места битвы с титаном мысли"
    • 13 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится +3 Проголосовать: не нравится

      Охщи. А вот этих слов мы не заметили. Про самую высокую.

      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        вот вот, у меня такая же проблема была
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
              Задача задумывалась чисто как утешительная, но почему-то такой не стала - к вопросу о том, что предсказать сложность задачи удается не всегда. Например, студенты нашей первой команды умудрились запихать в ее решение дерево отрезков - оно конечно несложно, но без него существенно проще.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    А это как раз тот случай, когда не надо пропускать пролог:
    "После недолгой стычки с особой, приближенной к императору, как мы знаем, служитель культа в панике забирается на самую высокую скалу, находящуюся на расстоянии не более R от места битвы с титаном мысли"
    Из всех скал, удовлетворяющих этому критерию в инпуте, самая низкая - 6, а не два. Интересно, как вы ухитрились сдать задачу, не поняв этого условия. Есть еще таланты на Руси =)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
(я тоже долго не мог понять) но, ведь Федор залазит на самую высокую скалу, то есть надо для всех мест встречи найти гору с максимальной высотой (то есть на отрезке [li - r; li + r]), допустим нашли, тогда минимальный допустимый ответ, это будет минимум из всех величин, т.к. если пожарникам повезет, он залезет на самую низкую из этих гор.... а а достаточный, очевидно, будет максимум из всех величин, т.к. в худшем случае он залезет именно на самую высокую гору, надеюсь ты меня понял
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
а где будет открыто дорешивание и можно ли писать виртуальные контесты на этом сайте?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Виртуальных контестов вроде нет в NSUTS.
    Ну, по крайней мере, я уже больше 2ух лет решаю там, ни разу еще не было виртуальных (:

    Дорешивание будет открыто в разделе "Тренировки", туда нужно отдельно регистрироваться (http://olimpic.nsu.ru/nsuts-test/nsuts_new_registernew.cgi?olympiad=tren)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Сталкивался ли кто нибудь с ва8 по 8 задаче? Хотелось бы узнать в чем там может быть проблема
  • 13 лет назад, # ^ |
      Проголосовать: нравится +37 Проголосовать: не нравится
    Чубчик, ты куда пропал? тебя начальник на работе ищет!!!
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
кто-нибудь сталкивался с WA10 в задаче2 (прыжки), и WA6 в задаче 8(про кривые Безье) ? очень интересно :)  
  • 13 лет назад, # ^ |
      Проголосовать: нравится +10 Проголосовать: не нравится
    WA6 было. Полечилось поворотом на рандомный угол. Если решение - пустим луч и посмотрим сколько пересечений, то это случай прохода через вершину(или может быть касания), обработанный как-то не так.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Решение именно такое, но казалось бы, если луч случайный, то поворот не нужен. 
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Мы сдали без поворота, и луч у нас был горизонтальный.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
 x(t)=cos(t)*r-sin(t)*(l-r*t)    ;    y(t)=sin(t)*r+cos(t)*(l-r*t);     x'=-sin(t)*r+sin(t)*r-(l-r*t)*cos(t);

y'=cos(t)*r-cos(t)*r-(l-r*t)*sin(t);    sqrt(x'^2+y'^2)=(l-r*t)(cos^2(t)+sin^2(t));    Интегрируем, пока функция >0,

получаем ответ l*l/(2*r).