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

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

Условие: http://informatics.mccme.ru/moodle/mod/resource/view.php?id=2749
Задача 3 (Форматирование текста)

Мое решение: Делал так. Взял, поместил весь текст в одну строку. Убрал все лишние пробелы (между двумя знаками и т.д, подробнее смотри условие, там все это очень криво и очень непонятно описано). После этого разделил текст на слова с прилегающими к ним знаками препинания. Вывел
Моя бага: когда запихивал текст в одну строку забывал ставить пробел вместо символа перевода строки , т.е. считал что слово продолжается на следующей строке если нет знаков препинания.
Мой результат: 0 баллов из 100
Наиболее популярные баги других участников: можно было забыть, что "цифра ведь тоже буква", можно было потерять какой-нибудь знак, можно было криво обработать пустые строки, можно было не догадаться, что строка, состоящая из пробелов — пустая. Решения с этими багами набирали не более 20 баллов из 100.
Мое мнение об этой задаче, тестах к ней и ее уместности на регионе:
1) Задача не блещет оригинальностью
2) В задаче слишком много разных случаев, в которых можно было сильно набажить( смотри выше)
3) Участник по этой задаче получал или 100, или не более 20. Мне кажется это не очень хороший набор тестов
4) Давать такую задачу на серьезное соревнование (как-то регион) крайне нехорошо со стороны жюри, тем более с такими тестами
Лично мне эта задача испортила полностью весь первый тур и все впечатление о нем. Кодил ее с отвращением, причем редкостным. Задача хоть и имеет право на существование, но максимум в формате acm, где можно получить wa и перепослать, ну а так — весьма печально...

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

14 лет назад, # |
Rev. 2   Проголосовать: нравится +7 Проголосовать: не нравится
А помоему нормальная задача.
Единственное с чем я согласен, что может быть не очень хорошая разбалловка.

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

> 2) В задаче слишком много разных случаев, в которых можно было сильно набажить( смотри выше)
> Наиболее популярные баги других участников: можно было забыть, что "цифра ведь тоже буква", можно было потерять какой-нибудь знак, можно было криво обработать пустые строки, можно было не догадаться, что строка, состоящая из пробелов - пустая.

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

Условие вполне нормальное, за исключением может того, что не совсем понятно, что делать если абзац начинается со знаков препинания (но по логике такого и не должно быть).
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    То есть задача на очень внимательно прочитать условие + понять чего хочет жюри. Что не есть хорошо
    • 14 лет назад, # ^ |
        Проголосовать: нравится +4 Проголосовать: не нравится
      На внимательно прочитать условие есть все таки 5 часов, плюс во время олимпиады никто вроде не запрещает писать clarification, хотя по поводу условия я писал выше, что все вполне ясно за исключением одного момента (про который можно было к примеру спросить у жюри).

      Не хорошо то, что разбалловка такая, тут я согласен, да.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Ну в общем-то да. Если бы не разбалловка, то все было бы хоть как-то
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Я бы сказала, что задача на то, чтобы потестировать свое решение. Чего, к сожалению, многие школьники делать пока не научились. Случай, когда одна строка заканчивается буквой и следующая начинается буквой, вполне естественен, это очень просто отловить тестом.

      Хотя я согласна с мнением, что зря дали такую задачу. Тем более, с условием, вызывающим огромное количество вопросов.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Эта задача на прямые руки или на везение:)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Строка состоящая из пробелов - пустая. Я задавал клар мне жюри так ответило.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Но мне из условия было ясно, например, что пустая строка это пустая (т.е. без символов, за исключением перевода строки). Я написал решение, в котором абзац был только после пустой строки (строки длины 0) и оно прошло все тесты.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Еще один минус этой задачи в формате школьной олимпиады. Люди, имея много времени на тестирование начинают извращаться, придумывая всякие крайне случае и грузя ими жюри..   Ну не должно быть таких задач на школьных олимпиадах (точнее по таким правилам. С ограниченным полным тестированием как на сборах и IOI вполне можно. Но лучше не надо.... )
        • 14 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится +2 Проголосовать: не нравится
          А жюри весело отвечает на все вопросы "без комментариев" и не парится. У нас по крайней мере так было (Ижевск)
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Вообще-то, жюри сначала парится (по некоторым вопросам были разногласия и споры), а потом уже отвечает без комментариев :)
            • 14 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              ну может быть и так:D

              а ответы другие были?)
              • 14 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Кажется, нет. Все условия были достаточно формальны.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      А мне на это ответили без комментариев, объяснив после тура, что "ясно, что формально - нет", я так и учитывал, что нет. Видимо на это тестов, не было, получил 100
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      А у нас был клар, что нет строк, состоящих только из пробелов.
      Сейчас ещё раз проверил, нету их в тестах жюри.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Любопытные вещи выясняются. Похоже, в разных регионах были разные клары. Нам объявили, что строка, состоящая из одних пробелов, считается пустой.

        Хотя одно другому не противоречит :)
      • 14 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится
        В итоге у всех разные ответы на вопросы, а зачет общий..
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Об объектах пустого множества любое утверждение истинно. Так что, руководствуясь любым из ответов, можно было, тем не менее, набрать 100 баллов.
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            В этом конкретном случае - слава богу,да.

            Но, например, апелляции в Москве и у нас принимаю далеко по-разному.

    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Даже если так, то это не имеет значения - я считал, что пробельная строка не пуста. Итого - 100 баллов.

      Имхо, это вполне обычная задача на технику, ничего особенного, одна такая задача из восьми, имхо, должна быть, но не более.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    По-моему были тесты, где абзац начинался со знаков препинания. В разборе сказано, что надо говорить о "расширенных словах", то есть это все символы слова и знаки препинания стоящие после него. Просто слово может быть пустым, а тогда расширенное состоять только из знаков препинания.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Абсолютно согласен. Только у меня ошибка в другом - я не удаляю пробелы между словом и знаком препинания. Например, в случае "abra !" должно быть "abra!". В итоге - 10 баллов из 100. Причем в условии этот момент кривовато описан и допускает разные трактовки...
Давать такую задачу на контесте с закрытыми полными тестами - это просто издевательство. Эти 90 баллов убили мне надежду на проход на всерос и все желание участвовать в таких соревнованиях. Теперь - только ACM.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Вот это-то и плохо "убили мне надежду на проход на всерос и все желание участвовать в таких соревнованиях";
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    В каком месте кривовато описано?
    "Если после слова идёт один или несколько знаков препинания, они должны следовать сразу после слова без дополнительных пробелов" (середина второго абзаца)
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Я в целом про условие имел в виду
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Нигде не сказано, например, что такое "после слова". Я потратил клара три на уточнее с жюри, что именно такое группа знаков "после слова".
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Сразу после слова. У нас кларов вообще не было.
        Я обычно делаю в таких случаях так: пишу более слабую формулировку (которая будет работать и в случае более сильной)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А на какой проходной балл на всерос для 11х классов можно рассчитывать?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Спасибо. Только бы не 500, пусть уж лучше 550 или больше, а то мне тогда 2 балла не хватит:-)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Лучше 550 (у меня 554) - будет очень весело. Очень печально будет, если проход 555
  • 14 лет назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится
    Я бы на твоем месте надеялась, что будет 495
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Я полагаю, что лучше не надеяться на то, что вряд ли может случиться, но за поддержку спасибо.
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
Автор сообщения отдан своим эмоциям, мне кажется. Я упустил обработку пустых строк, но набрал 65 баллов (и да, жюри в Москве прислало само сообщение, что абзацы разделены строками, в которых вообще ничего нет).
1) Естественно, она не блещет оригинальностью - это техника.
2) А какую хочется задачу? Где нельзя набажить?
Между прочим, мне эта задача тоже угробила весь первый тур - я писал её три часа, хотя обычно с такой техникой справляюсь быстро.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    да, тоже убил 3 часа
    единственная ошибка была в чтении условии: не увидел что могут быть цифры
    в результате 15 по ней...
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Мне — со стороны жюри Ленинградской области — тоже не очень понравилась эта задача на туре.

В основном потому, что условие было написано не очень хорошо. Его можно было понять, внимательно всё прочитав. Однако мелкие неточности (пример: формально по условию знаки препинания могут быть только между словами, а в примере — и после последнего слова) и изложение программистским, а не русским, языком (пример: сначала про разделение слов пробелами, как будто ничего, кроме слов, нет, а потом про дописывание знаков препинания) делали её трудной более для понимания, чем для написания программы. То, что слово “цифры” одно на всё условие и не отражено в примере, а его пропуск отнимает 85 баллов, тоже нехорошо. Признаюсь, я его при чтении условия тоже пропустил.

Судя по количеству заданных по этой задаче вопросов, большинство участников убили мозг об условие, а не руки об решение (по-моему, это дурной тон), и не оставили себе времени на простую, но интересную подзадачу задачи 4.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
> 3) Участник по этой задаче получал или 100, или не более 20. Мне кажется это не очень хороший набор тестов.
А вот и неправда! В Питере многие участники получили и 50 и 65 и 80 баллов, а вот 20 получило всего один:) В других регионах подобная ситуация.

можно было не догадаться, что строка, состоящая из пробелов - пустая
Во всех тестах нет строк только из пробелов.

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

Единственная проблема - слова могут содержать цифры и все тесты, кроме 3, содержат их.
Но это ошибка в прочтении условия, причем просто текста, а не делания какого-то логического вывода и потому ошибка и должна снимать много баллов!
Но, конечно, стоило добавить цифр в пример, тогда таких "невнимательных" было бы меньше.

Конечно, задача очень неприятна технически и может убить много времени, но писать ее нужно аккуратно, хотя можно было допустить один мелкий баг из-за которого всегда не работает:(
Потому многие участники не проходили даже тест из примера....
Но никто не обещал, что все задачи должны быть простыми - вот эта сложна придумыванием хорошего способа написания:)
  • 14 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    > Конечно, задача очень неприятна технически и может убить много времени, но писать ее нужно аккуратно, хотя можно было допустить один мелкий баг из-за которого всегда не работает:(

    Мне кажется, дело не в написании, а в том, что не-топовый участник этой олимпиады просто не умеет читать такой текст, как в этом условии. И мне кажется, что лучше менять не умение, а условие :) .


    > Потому многие участники не проходили даже тест из примера....

    Кстати, насчёт примера: в тесте из примера пробелы в конце семи строк — это, скажем так, инновационный подход к тестированию. У нас в итоге было такое объявление:

    Q: Что может служить причиной реакции "Неправильный ответ", если ответ совпадает до символов при проверки кода на моем компьютере?

    A: Имейте в виду, что строки входного файла могут заканчиваться на один или несколько пробелов, в том числе и в примере.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Оба замечания действительно по делу.

      1) Условия, к сожалению, столько раз редактируются, что все в итоге становится совсем непонятно:( Это же явление наблюдается и на Всеросе...

      2) С проблема в конце - это конечно бага, а не инновационный подход. 
      Но с другой стороны может хорошо, что участники столкнулись с этой подставой в момент тестирования на предварительных тестах... Но стоило прямо в условии выделить какими-то символами (подчеркиванием, например) все пробелы.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        > Но с другой стороны может хорошо, что участники столкнулись с этой подставой в момент тестирования на предварительных тестах...

        Да, так мне показалось наиболее честно.

        Если удалить эти пробелы из сэмпла, это бы нечестно усложнило получение баллов по сравнению с другими регионами.

        Если удалить эти пробелы изо всех тестов, это нечестно упростило бы задачу по сравнению с другими регионами.

        Интересно, а как ещё можно было подумать, и как сделали в остальных регионах? Ну как минимум можно было забить и/или не заметить. А ещё?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится
    Проблема в том, что с мелким багом все работало на сампле и на своих тестах, а вот на больших тестах жюри не работало ни на одном. Получилось, что я убил часа 2 на задачу, написал почти работающий код, а баллов за нее получил 0, то есть столько же, сколько тот, кто ее вообще не трогал. Мне кажется это не очень справедливо
14 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
Если честно, то мне жалко школьников, которым приходится это решать.
Первые две задачи для олимпиадников уровня ВКОШП - вообще не задачи. На обе вместе можно убить какие-то 30 минут вместе с внимательным прочтением и проверкой на собственном наборе тестов.
Третья задача - это настоящий ужас. Я присоединюсь к тем, кто эту задачу считает неподходящей для такого рода соревнований. Задача не на технику, а на внимательное десятикратное прочтение и тупую реализацию всех частных случаев. Задача не стоит тех баллов, которые участники на ней теряют.
Четвертая задача - хорошая задача, которая подходит для любого типа соревнований. Вот задача, к которой вряд ли можно придраться. И, если верить примечанию, то разбалловка там вроде не жестокая.
Сколько людей, столько и мнений. Большинство недовольно, но все-таки оно вряд ли будет услышано.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Большинство недовольно, но все-таки оно вряд ли будет услышано.
    А вот здесь неправы - мнение уже услышано много раз и прочитано не меньше:)

    Кстати, а второй тур понравился?
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      К сожалению, я не успел его прочитать. В Томске (а это город, где я живу) уже пол четвертого ночи. Завтра постараюсь прочитать задачи и даже может быть порешаю на дальневосточном сервере, как только там откроют такую возможность.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +7 Проголосовать: не нравится
      Второй тур, по моему был значительно лучше и интересней
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
А вы уверены, что во всех регионах уже прошла эта олимпиада? В нашем например она была сегодня...

UPD. кажется у всех одновременно проходило...
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Ключевое слово тут "кажется":)
    На самом деле кто не провел еще - сами виноваты - по регламенту 21 и 23 она проходит!
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Нет, далеко не одновременно. У нас вообще второй тур проводился 22, а не 23... поэтому не стоит удивляться, если кто-то кому-то слил условия...
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
В нашем регионе по этой задаче было 0, 5 или 100
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Задача чисто на внимательность, строки из пробелов я пустыми не считал т. к. если строка пуста в ней НЕТ символов,а так единственное что было непривычно, что после ' надо было пробелы ставить (английской грамматике не поддается))