Если вы используете C++, пожалуйста, выберите в качестве компилятора при отправке решения: C++14 (GCC 6-32) или C++17 (GCC 7-32). ×

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

Автор MikeMirzayanov, 13 лет назад, По-русски
Всем привет!

Рад сообщить вам, совсем скоро Codeforces избавит вас от чтения бесконечных "Please, give me test #??" в комментариях. Мы решили публиковать тесты и по клику на ссылку с идентификационным номером попытке в статусе будет появляться не только исходных текст решения, но и тесты на которых производилось тестирование (отчет системы тестирования). Он не будет содержать полных тестов, если они слишком велики - пока придется потерпеть и наслаждаться их префиксами. Как только мы поймем, что багов в реализации нет - мы откроем все проведенные контесты для просмотра тестов.

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

Конечно, мы не хотим, чтобы задачи Codeforces копировались с одного online judge-а на другой. Надо понимать, что Codeforces тратит огромные усилия на подготовку задач и проведение контестов. По этой причине мы ограничиваем использование материалов таким образом, что использовать наши задачи на сайтах или других системах с автоматическим тестированием - нельзя. С другой стороны мы будем рады, если материалы задач окажутся полезны для индивидуальных занятий или будут использованы на каких-то сборах, тренировках и т.п. с очным присутствием участников. Внимательно прочтите текст лицензии, так как мы хотим, чтобы некоторые данные о Codeforces были опубликованы рядом (или внутри) с условиями задач.

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

Лицензия на использование материалов задач Codeforces (v. 0.1)

  1. Вы можете публиковать тексты задач Codeforces в любых открытых источниках, но должны сохранять прямую ссылку на сайт http://codeforces.ru (для англоязычных условий - http://codeforces.com) и указывать Codeforces в качестве источника задачи. Эти данные должны располагаться в непосредственной близости от условия, быть легко заметны и читаемы. Запрещается размещать задачи Codeforces в открытых источниках с поддержкой автоматизированного тестирования (имеются ввиду online judges и близкие по идее ресурсы).
  2. Вы не можете использовать тесты и другие материалы задач (генераторы, чекеры, валидаторы) для публикации задач в открытых источниках с поддержкой автоматизированного тестирования (имеются ввиду online judges и близкие по идее ресурсы) даже с учетом изменения оригинальных условий задач.
  3. Вы можете использовать предоставленные материалы: тесты, генераторы, чекеры, валидаторы и др. для индивидуальных занятий, а так же проведения краткосрочных учебно-тренировочных мероприятий с очным присутствием участников. Условия задач должны содержать данные из пункта 1 настоящей лицензии. Вторичное (последующее) распространение задач должно содержать настоящую лицензию и подчиняться ей в полной мере.
  • Проголосовать: нравится
  • +40
  • Проголосовать: не нравится

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Могу ли я использовать тесты при дистанционном закрытом обучении небольшой (~10 человек) группы школьников?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    А почему не заставить школьников зарегистрироваться на codeforces и решать задачи прямо тут?
    • 13 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Ну как тебе сказать... Разборы+готовые решения+невиртуальные контесты+неудобство просмотра общей статистики+невозможность скомпоновать задачи удобным образом все таки чуть чуть мешают процессу...
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Если школьники не хотят сами решать задачи - никто им не помешает загуглить разбор. Виртуальные контесты - это очень удобно, будем надеяться, что команда codeforces когда-нибудь их сделает. Ну а с компоновкой задач - это к acm-server'у (хотя не уверен, есть ли у них плагин для codeforces; кроме того, не уверен, что команда codeforces обрадуется такому использованию - ходят страшные слухи, что многим проектам с архивами задач такое не нравится, и Ваню Попелышева даже где-то забанили за использование acm-server, если мне не изменяет память).
        • 13 лет назад, # ^ |
            Проголосовать: нравится +1 Проголосовать: не нравится
          Мне почему то кажется, что легче отдать тесты, чем реализовывать столько фич. Не думаю, что все это появится довольно быстро. А тесты все равно отдадут для очных сборов. Вопрос в другом: чем так принципиально отличаются закрытые заочные тренировки от очных тренировок?
13 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
Сейчас, похоже, тест ограничивается количеством символов или вроде того. Можно как-нибудь просмотреть полный текст теста?
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
По поводу тестов на которые был осуществлен взлом:
1) можно ли будет по окончанию контеста их полностью увидеть?
2) их-то распространять можно?:)
13 лет назад, # |
Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

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

Организовывать тренировки непосредственно на codeforces не всегда возможно, в силу того, что нет возможности создания своего виртуального контеста, да и открытые коды могут мешать самостоятельному решению задач. В общем, грядущая публикация материалов - это супер новость :-) Заранее большое спасибо!

13 лет назад, # |
Rev. 4   Проголосовать: нравится +4 Проголосовать: не нравится
Я уже дважды нарушил лицензию v.0.1. Две задачи были опубликованы здесь, естественно со ссылкой на codeforces. Можно я их не буду удалять?
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
    Кстати, Михаил Расихович, когда появится возможность виртуальных контестов? Обещали!:)
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
А нельзя выложить тесты (ну или префиксы тестов) всех раундов? Было бы очень удобно.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +14 Проголосовать: не нравится
    «Он не будет содержать полных тестов, если они слишком велики - пока придется потерпеть и наслаждаться их префиксами. Как только мы поймем, что багов в реализации нет - мы откроем все проведенные контесты для просмотра тестов.»
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Действительно, надо было внимательней читать пост. Спасибо.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Возникает несколько вопросов.

1. Действует ли эта лицензия на уже прошедшие контесты? Если да, то как быть, когда автор задач окажется не согласен с ней или уже её нарушил, пока её не было (пример)?

2. Вообще, после проведения контеста остаются ли права на свободное использование задачи у автора, или он передаёт их эксклюзивно проекту CodeForces? В последнем случае нужно же заключать договор, делается ли это?

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

4. О переиспользовании. Не были ли какие-то из задач, появившихся на CodeForces, уже переиспользованием задач из других источников? Что, если в этих источниках правила предоставления тестов противоречат лицензии CodeForces? Или правила поменяются через год и станут противоречить лицензии... Аналогичный вопрос — про возможность переиспользования задач в будущем.

5. Планировалось же, что в далёком и светлом будущем пользователи смогут сами собирать и проводить здесь контесты. Есть ли ещё такие планы? Будут ли и эти контесты обязаны подчиняться лицензии?

Ответы хотелось бы увидеть отражёнными в следующей версии лицензии ;) .
  • 12 лет назад, # ^ |
    Rev. 4   Проголосовать: нравится +7 Проголосовать: не нравится

    Полностью поддерживаю вопрос номер 2.

    По вопросу 4 — насколько я понимаю (я не специалист), по законодательству РФ авторские права распространяются на тексты условия (как на литературное произведение). На идеи авторские права не распространяются. Если какая-то задача Codeforces встречалась в другом архиве с другим текстом условия и независимо сделанными тестами, то никаких взаимных претензий нет и быть не может. Если кто-то копипастил задачу, понятно, что права принадлежат первому автору, и вопрос лицензии за ним.

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Скажите, пожалуйста, есть ли прогресс  по поводу "вы будете иметь возможность выкачивать архивы задач (контестов), которые будут содержать внутри себя полные тесты (или их генераторы), а так же авторские решения и другие материалы"?
»
12 лет назад, # |
  Проголосовать: нравится +27 Проголосовать: не нравится

Uh, what if I want the whole test case, and not just the "prefix".

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

May I publish translated texts of Codeforces problems?

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

Can authors use their own problems and tasks in 'their own' 'open sources supporting automatic testing'?

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

    Also if well-known problems are proposed in CF rounds, can one use that problem? it somehow seems coinciding with term 2

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

    I want to use my problems in my online judge. Is it possible? It seems that my curiosity coincides with this comment.

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

      I'm not sure that the question is so strange and funny. Maybe, IIIIIIIVVVIVIIVIIIIXX wanted to ask, is Codeforces' rights for the problems exclusive, or shared with original problems' authors.

      In other words: "My friend is an author of some problems of some CodeForces Rounds. And he wants to know, is it legally to use some of theses problems for another round at another platform."

      Nevertheless, original IIIIIIIVVVIVIIVIIIIXX's question is not clear enough.

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

It's been nine years and we still don't get the full test case ...?

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

MikeMirzayanov I wonder if it would also be okay to share codes of some problems as open source but while linking them to the original source from CodeForces?

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

MikeMirzayanov I wonder if I could use the test for academic research purpose only, including publishing papers. Thanks!

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

Can i publish my solution & explanation of codeforces problems(mind this that not the editorial of codeforces copied and pasted but my explanation), with the codeforces problem link attached at the beginning and make this as paid material so that whoever buys this material will have access to my simpler explanations of the codeforces problems or this violates any rules?

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

MikeMirzayanov please confirm whether this license is up-to-date (since the post is 11 years old and the last comment is almost 2 years old) and we are still allowed to use links to codeforces problems on other websites while giving full credit to codeforces and if all solving/submitting is done codeforces. Are we still allowed to use links to problems if the website's code is not public and we require people to sign up (but anyone may sign up for free)? Just making sure that I clearly understand what "open sources" refers to here.

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

Can you elaborate on the phrasing "It is forbidden to publish Codeforces problems in open sources supporting automatic testing (such as online judges or similar resources)."

At first read, it seems that if one were to replicate, for research purposes, the materials of collected problems, they could not also provide an open source testing sandbox scaffold for running code against test cases.

However, Deepmind seemed to do exactly that in the AlphaCode paper: https://github.com/google-deepmind/code_contests.

Is it therefore permissible to replicate problems, test cases, and an open source testing scaffold? Is the issue then specifically with the idea of having automated testing code hosted somewhere online, where you could upload your solution and get immediate feedback?

I apologize for adding on to an ancient thread. It seems still the best place to clarify license questions.