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

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

Недавно я узнал, что на Codeforces можно использовать prewritten code, в случае, если этот код написан тобой.

Хотелось бы задать вопрос Максиму Иванову (e-maxx) на каких условиях публикуются исходные коды на всеми нами любимом сайте e-maxx.ru, в том числе, могу ли я переформатировать его под предпочитаемый мною стиль и считать своим.

P. S.

Пользуясь случаем, я бы хотел выразить благодарность жюри соревнований за решение о моем допуске. Я бы хотел выразить благодарность всем, кто поддерживал меня или выражал свое мнение по вопросу. Кроме того, я хотел бы выразить личную благодарность некоторым людям (я это сделаю, как только получу от всех согласие) и создателям ВКонтакте за ресурс, который сделал возможным с ними связаться.

  • Проголосовать: нравится
  • +92
  • Проголосовать: не нравится

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

Удачи на кубке!

»
12 лет назад, # |
  Проголосовать: нравится -33 Проголосовать: не нравится

ИМХО, лучше прочитать статью и самому все написать (при необходимости подглядывая некоторые детали реализации). P.S. Удачи на кубке.

»
12 лет назад, # |
Rev. 3   Проголосовать: нравится +127 Проголосовать: не нравится

Все мои материалы (статьи, код) — под Public Domain.

Вкратце — это означает, что любой может использовать материалы как угодно (перепубликовывать, редактировать, использовать в личных целях), я отказываюсь от всех прав на них.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится

    Тут вопрос в том, считается ли использование твоих материалов жульничеством (когда человек выдает это за свой собственноручно написанный код).

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

      Формально, не скопированный а перебитый своими руками код не считается жульничеством. И какая разница?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится

        Прекрасно, где тогда граница между своим кодом и чужим?

        Вот мы с Димой Матовым шаблон пишем одинаково. Я и думаю: кем из нас был написан тот шаблон, который я использовала сегодня :)

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

      Вопрос состоял именно в лицензии на код ;)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +22 Проголосовать: не нравится

    Ой, как много, оказывается, людей не умеют самостоятельно что-то писать.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +6 Проголосовать: не нравится

      Я например плюсанул за то что согласен с позицией. Я в принципе считаю что с такой же лицензией должны распространяться материалы всех прошедших соревнований к примеру. И еще много чего.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

      "Написание в 100500 раз алгоритма Дейкстры неинтересно" (ссылку на Egor потерял)

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +22 Проголосовать: не нравится

        У меня есть подозрение, что эта цитата вырвана из контекста. Неинтересно в стопятисотый раз писать просто Дейкстру, а вот если этот алгоритм является составным кирпичом в задаче, то меня совершенно не напрягает ещё раз взять и написать его. Более того, мне кажется, что осознание того, что ты можешь взять и написать этот алгоритм за пару минут без багов, в некоторой степени приятно.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +2 Проголосовать: не нравится

          На вкус и цвет... Кому-то нравится проектировать дом, обсуждать, где будет комната для детей, где — подсобка, а где — что-то вроде гостиной.

          А кому-то нравится раствор носить или кирпичи обжигать.

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +10 Проголосовать: не нравится

            мне кажется если уж ты занимаешься сп, ты должен уметь и то, и другое

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

              мне кажется если уж ты занимаешься сп, ты должен уметь и то, и другое

              ... проектировать дом и кирпичи обжигать...

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +10 Проголосовать: не нравится

          Более того, мне кажется, что осознание того, что ты можешь взять и написать этот алгоритм за пару минут без багов, в некоторой степени приятно. Как кодер, не могу не плюсануть. Как у нас в команде обычно решается поток? Мне говорят, что нужен поток, я сажусь и за пару минут вбиваю стандартный код Диницы (ну или что там нужно), потом сокомандники, которые решали задачу, строят сеть и приспосабливают ее к моему стандартному коду. Profit — задача быстро сдана и каждый чувствует себя нужным.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +34 Проголосовать: не нравится

          Не вырвана. Если в задаче нужен, скажем, поток в качестве подзадачи, мне куда интереснее строить остальную часть решения, чем yet another раз писать поток. Ну, и как бы то, что я написал CHelper намекает

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +8 Проголосовать: не нравится

      Не могу не вызарить полное не согласие с вашей точкой зрения.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +25 Проголосовать: не нравится

        Я вижу, что есть много сторонников вашей точки зрения (насколько я понял, также и Егора). Я действительно приверженец чистых спортивных контестов: без какого-либо prewritten-кода. Другое дело, что на таких соревнованиях, как ТЦ и КФ ваша позиция, как правило, приводит к лучшим результатам (что и понятно), поэтому я сам тоже иногда прибегаю к использованию чего-то написанного ранее.

        Наверное, моя точка зрения сформирована под влиянием разных школьных олимпиад/АСМ-олимпиад, где ты приходишь и садишься за компьютер, и всё в твоих руках — либо ты сидишь и целый час вспоминаешь, как пишется Дейкстра или дебажишь декартово дерево, либо даже не замечаешь, как сам всё написал без багов и занимаешься интересной деятельностью — "строишь остальную часть решения".

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

          Есть сторонники и твоей точки зрения. Я во время контестов не использую ни prewriten code ни google (хотя пару раз делал исключение).

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

          Я могу прояснить свою точку зрения. Дело в том, что привычка все писать ручками приводит к плохим последствиям для дальнейшей реальной работы. Возникает сразу 2 проблемы: во-первых, привычка писать собственные велосипеды, во-вторых, при написании кода не оставляешь зацепок для дальнейшей универсализации — когда достаточно небольшого рефакторинга чтобы повторно его использовать в каком-то другом месте. С другой стороны, используемые алгоритмы надо знать, конечно, а не использовать бездумно

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +8 Проголосовать: не нравится

            Я уверен, что умный человек может адекватно оценить, где собственные велосипеды уместны, а где нет. Со второй проблемой примерно также.. Код ведь пишется не просто так, а с какой-то целью. В соревнованиях обычно цель — написать что-то, что пройдет все тесты. В реальной же работе цель обычно куда более комплексная.

            Например, для меня никогда не было проблемой в реальной работе то, что я вообще нигде не использую prewritten code во время соревнований (раньше как-то нигде и не разрешалось, а сейчас просто неинтересно), скорее, наоборот, привычки из профессионального опыта иногда на автомате не позволяют писать что-нибудь ужасно кривое, но вполне приемлемое для соревнований.

            • »
              »
              »
              »
              »
              »
              »
              12 лет назад, # ^ |
                Проголосовать: нравится +5 Проголосовать: не нравится

              Умный человек вообще много чего может, однако с привычками потом приходится бороться, на это требуются какие-то ресурсы, которые можно было бы пустить на другие цели

              • »
                »
                »
                »
                »
                »
                »
                »
                12 лет назад, # ^ |
                  Проголосовать: нравится +4 Проголосовать: не нравится

                Да, согласен. С этой привычкой достаточно сложно бороться, хотя мне было несколько проще (олимпиадами и промышленным кодом начал заниматься в один момент, и многое из опыта промышленного кода переносил в олимпиадный).

                Про CHelper — задумываюсь над реализацией подобной штуки как плагина к студии, правда, в более примитивном виде — просто средство быстро добавить какой-либо код в решение. Есть идеи, например, как очень круто реализовать дерево отрезков, чтобы можно было любую задачу на него решать в 4 строки.

            • »
              »
              »
              »
              »
              »
              »
              12 лет назад, # ^ |
                Проголосовать: нравится +14 Проголосовать: не нравится

              Еще следует заметить, что как Egor, так и AlexSkidanov — олимпиадники с большим стажем. Конечно, им уже надоело писать поток в 100500-й раз. Я полагаю, что школьникам и студентам это полезно уметь писать такие вещи руками. Где-нибудь посадишь баг, поразбираешься, лучше поймешь как работает код. Кроме того редко, но все-же встречаются задачи, где надо встроить что-то в стандартный алгоритм или использовать какую-то его фазу. В таком случае, без четкого понимания как все работает не обойтись.

              Ну и да, сейчас меньше, но я хорошо помню это ощущение от быстрой и точной реализации сложного алгоритма, наверное, сравнимое с тем, что испытывает музыкант, исполняющий сложное произведение.

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

Не шали больше! =)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +28 Проголосовать: не нравится

    Мне совесть просто не позволит после такой поддержки сообщества.

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

Недавно я узнал ...

Небольшой вопрос: А вы антиквиксорт каждый раз писали заново до этого?)