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

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

Пару раз сталкивался с такой ситуацией: добавление комментария в код меняет вердикт проверки.

Сегодня удаление одних комментариев и вставка других меняют вердикт с TL 9 на RTE (access violation) 9.

Год назад комментирование cin >> n; в конце программы меняло вердикт с RTE (access violation) 34 на RTE (access violation) 13.

Дело происходит на тимусе, компилятор Visual C++ 2010.

Можете помочь с этим? Что может вызывать такое поведение?

UPD: Второй пример.
http://pastebin.com/41yqH6BF
http://pastebin.com/7PE31Erm
Условие

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

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

Может код покажешь?

Что-то во влияние комментов не верится, ибо компилятор после препроцессора получит одно и тоже (скорее просто код получает разный вердикт сам по себе)

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

    http://pastebin.com/41yqH6BF
    http://pastebin.com/7PE31Erm
    Условие

    Странно, ведь в коде нет никаких рандомов. И код с комментарием стабильно получал другой вердикт.

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

      Послал оба кода, получил RE13 (и кстати они отличаются не только комментами, в одном есть cin >> n, в дргуом он закомменчен)

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

      http://pastebin.com/4Luaa1ha (сорри за фрматирование)

      Получаю на первом семпле падение на строке 43

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

        Да, в коде есть баг, я его потом исправил :)

        Вопрос в том, почему cin >> n; в конце влияет на вердикт.

        И да, у меня один код получает RTE 13, другой — RTE 34. Только что проверил.
        Если вердикт зависит от участника — это еще более странно :)

        Скрин