|
|
|
|
|
|
|
Вернуться
| 1 Хворых Павел, 03 января 2017 г. 20:06:57 | |
Меньшиков Фёдор Владимирович, если в задаче указано, что кодировка файла - win1251, то да, не включать. Потому что в данной кодировке не определён символ 0x98 и он не может встретится в файле с данной кодировкой. Собственно об этом Python и сообщает, выкидывая исключение. Я в одной из задач указал на это администратору, и он поправил условие (заменил фразу "файл в кодировке win1251" на "файл в 8-битной кодировке"). И эта задача отлично сдаётся на питоне, если задать файлу какую-нибудь полную 8-битную кодировку (например, koi8_r), либо просто работать с файлом бинарно. P.S. По-умолчанию Python использует системную кодировку, а это как раз win1251.
|
|
|
| 2 Меньшиков Фёдор Владимирович, 03 января 2017 г. 17:03:30 | |
|
А может предложить желающим писать на PascalABC читать не строчку, а посимвольно в такой ситуации? Вообще-то в других языках тоже не всё просто с некоторыми аспектами ввода, например, Python вылетает при наличии байта с номером 98hex. Так что после этого - не включать такие байты в тесты что ли? Я думаю это задача пишущего на языке найти способ обхода. Один из способов уже найден ниже - читать из файла. Подозреваю, что посимвольное чтение тоже будет работать. И вообще, на реальных олимпиадах никто тепличные условия не гарантирует.
|
|
|
| 3 Артур Альметьевск, 02 января 2017 г. 20:03:24 | |
|
Задача 82. Один и тот же код выдает на FP и Delphi - Accept, a на Pascal ABC. Net - TLE на 10 тесте.
|
|
|
| 4 Беляев Сергей Николаевич, 30 декабря 2016 г. 14:21:05 | |
|
Добавил во всех задачах во всех тестах пустую строку в тех случаях, когда она отсутствовала и перетестировал все решения на PascalABC.NET, у которых был TLE 1. Таковых было 85, из них осталось 3, у которых действительно TLE 1. Теперь такой проблемы нет. Однако, есть опасения, что в некоторых задачах эта строка могла оказаться лишней. Если вдруг кто-либо это обнаружит, просьба отписаться мне на электронную почту: "bsn @ mail . ru" (адрес без пробелов).
|
|
|
| 5 Хворых Павел, 30 декабря 2016 г. 12:28:22 | |
Похоже на глюк. Может разработчикам PascalABC.NET написать? Но от обязательного символа переноса строки в конце всех файлов я, разумеется, не откажусь. Оффтоп: это всё является следствием того, что перенос строки означает завершение строки, а не начало новой, именно поэтому общепринятой нормой является ставить перенос строки в конце файла. Мы с вами это уже обсуждали, когда у меня 80-я задача падала. Разумеется, все языки должны уметь и умеют обрабатывать файлы без символа переноса в конце. Поэтому мне кажется, что данная ситуация - это глюк компилятора.
|
|
|
| 6 Беляев Сергей Николаевич, 30 декабря 2016 г. 9:03:28 | |
|
Да, действительно. Я понял, что это происходит, когда файл не оканчивается пустой строкой и читаемая строка последняя во входных данных. Можно попробовать добавлять пустую строку ко всем входным данным. Вопрос: во всех ли задачах это допустимо? :) Есть подозрение, что во всех.
|
|
|
| 7 Гариханов Айдар, 29 декабря 2016 г. 23:17:39 | |
|
При чтении из файла ошибок не возникает
|
|
|
| 8 Меньшиков Фёдор Владимирович, 29 декабря 2016 г. 23:13:22 | |
|
А при чтении из файла?
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| | | |