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

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

Возможно я спрошу глупость. Но у меня возникла проблема при взломе задачи C на контесте CBR #97.

При взломе я использовал генератор, но червер выдавал вердикт : "FAIL Expected EOLN (stdin)" Помогите найти ошибку, вот код генератора: 

var i:longint;

begin

writeln(100000);

 for i:=1 to 100000 do

 if i<>100000 then write(random(1000)+1,' ')

 else writeln(1);

end.

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

13 лет назад, # |
  Проголосовать: нравится -17 Проголосовать: не нравится
Возможно нельзя использовать random.
  • 13 лет назад, # ^ |
      Проголосовать: нравится -13 Проголосовать: не нравится
    Я пробовал и без рандома - все равно такой же вердикт.
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

    random использовать можно, но только с детерминированным сидом. На С++, к примеру, писать srand(какая-то константа) можно, а srand(time(0)) - нельзя.

13 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
В конце программы нужно выписать пустую строку (writeln)
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Спасибо, но почему неправильно так, ведь я же последний символ writeln'ом вывожу, ставится символ конца строки.
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Вроде бы все правильно...

Может, валидатор был кривой?

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Да нет, валидатор нормальный. Запустил локально и генератор, и валидатор - все нормально.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Ну да, странно ожидать ошибки от валидатора, тем более у всех все было нормально.
      Возможно, топикстартер не такой код отправлял вчера?..
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Укажите идентификатор попытки взлома. Я просмотрел ваши взломы (где вердикт "некорректный тест") - у вас там генераторы на С++. Кроме того, они выводят лишний пробел в конце строки (поэтому, наверное, "некорректный тест"). Короче, уточните вопрос.
  • 13 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +1 Проголосовать: не нравится

    Я по разному пробовал, вот номера попыток: 28918 28900 28892 28877 . Не помню какая именно.

    На С++ я от отчаяния писать стал, но на компьютере на котором я писал не было среды никакой.

    • 13 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Все перечисленные взломы используют генератор на С++.
      • 13 лет назад, # ^ |
          Проголосовать: нравится -20 Проголосовать: не нравится
        Странно, вроде бы на паскале писал, и выбирал компилятор паскаль...