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

Автор balalaika, история, 6 лет назад, По-русски

Всем привет!

15 апреля 2018 года внезапно в МИЭТе прошла VI личная олимпиада по программированию, посвященная Юрскому Периоду.

Она доступна для свободного прорешивания по ссылке: VI Личная Олимпиада МИЭТ.

Задачи для вас были подготовлены balalaika, Samurai_X, igorrrain и zatinatscky.ivan.

Контест по большей части простой, двухзвездочный по местным меркам, но мы надеемся, что вы найдете для себя интересные задачи.

Возможно в конце месяца выложим контест в тренировки.

Полный текст и комментарии »

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

Автор balalaika, история, 6 лет назад, По-русски

Напоролся на такой баг:

Мини-несоответствие, вообще на самом деле все равно даже, но может кого заинтересует...

Полный текст и комментарии »

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

Автор balalaika, история, 7 лет назад, По-русски

Доброго времени суток!

Возникла такая ситуация, что в один прекрасный день (12 апреля) обновились две системы: Ejudge и Полигон. После чего сломался импорт из Полигона в Ejduge. Стали вываливаться ошибки следующего вида:

problemName mismatch: <tr>: miet-2017-05, <td>:
miet-2017-05 (да, это именно на новой строке, только еще с кучей табов)

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

Эту же ошибку еще отписал в группу ВК, посвященную ejudg'у (да, она есть), пока ответа нету.
Пожалуйста, помогите!)

Полный текст и комментарии »

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

Автор balalaika, история, 7 лет назад, По-русски

Люди, шарящие в ejudge. Пишу сюда, ибо регистрация на форуме ejudg'а ныне закрыта, и там тему создать не могу.
Я нормально установил ejudge , подгружаю без проблем задачи с полигона, e-mail рассылку завел, все языки нормально завелись, но:

1) Mono C# считается небезопасным языком, и если включить безопасность, то для участников этот язык недоступен

2) При выключенной безопасности при посылки кода на шарпе выдается следующая ошибка:

/home/judges//compile/scripts/mcs: 32: /home/judges//compile/scripts/mcs: [[: not found

Compilation process timed out

Я глянул соответствующий файл, ругань идет на эту строку

[[ "${EJUDGE_FLAGS}" = "" ]] && EJUDGE_FLAGS="-optimize+"

Этот файл я никак не менял после установки ejudg'а. И плюс компиляция и запуск из терминала идет вообще безо всяких проблем. Сижу уже три дня, никаких адекватных идей не пришло. Переустановка (и компилятора, и ejudg'а) ничего не дала. Помогите, люди добрые, пожалуйста!

Linux Ubuntu 16.04 LTS (64-bit)
Mono C# 4.2.1.0

P.S. Если никто не в курсе, то можно ли как-то связаться с разработчиками, чтоб у них проконсультироваться?

Полный текст и комментарии »

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

Автор balalaika, история, 7 лет назад, По-русски

Издревле повелось, что в строковом представлении дробных числах роль разделителя целой от дробной части играет символ точка. И в плюсах код а-ля:

double d;
cin >> d;
cout << d;

считает и выведет дробное число с точкой, если на вход подастся строка "2.5". Однако в шарпе (насколько мне известно, еще в FPC, поправьте, если я ошибаюсь) символ, который будет разделителем, определяется настройками ОС. В нашем случае, если на вход подать строку "2.5" следующим кодом:

double d;
d = double.Parse(Console.ReadLine());

то выбросится исключение, поскольку с точки зрения шарпа, в дробных числах разделителем должна быть запятая. И наоборот, код:

Console.WriteLine(2.5);

выведет строку "2,5", что не принимается тестирующей системой за дробное число. И приходится делать извращения вроде:

double d;
d = double.Parse(Console.ReadLine().Replace('.', ','));
Console.WriteLine(d.ToString().Replace(',', '.'));

Есть ли в шарпе иные способы обхода таких ситуаций (System.Threading не предлагать — CF справедливо блокирует действия записи в этом модуле)? И возможно ли изменить настройки ОС на сервере, чтобы не приходилось вообще обходить это?

Да, шарп + олимпиадное проганье = жесть, но все равно интересно.

Полный текст и комментарии »

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