В субботу 3 декабря состоится Codeforces Beta Round #96, мой первый классический раунд на Codeforces. Чтобы несколько сгладить переход от неизвестного языка к известным, я сделала раунд тематическим, и тема эта, разумеется, языки программирования :-)
Спасибо MikeMirzayanov, maksay и RAD за помощь в подготовке задач.
Удачи на раунде!
P.S. Баллы за задачи: первый дивизион — 500-1500-1500-2000-2500, второй дивизион — 500-1000-1500-2500-2500.
P.P.S. Разбор задач здесь.
Не самое удачное время… В это время контест ещё один идет…
good luck
Думаю, будет интересно)
не тупи, когда я писал: ну я и сам вижу
там ниче такого не было, ну вообщем то срать на самом деле
Немогу отправить ошибка !
Обнаружено списывание первых двух задач у участников Saken и Zhandos. Коды абсолютно совпадают... Прошу админов обратить на это внимание!
P.S. Третью пока не блочил, так что ничего сказать не могу, но она у них сдана тоже примерно в одно и то же время, так что есть подозрения, что и там код одинаковый...
P.P.S. Да, по С тоже одинаковый код...
Если есть подозрения насчёт читерства - всегда надо писать админам, а не кричать по блогам... Мало ли это глюк из-за которого один и тот же исходник у разных людей отображается...
А 2-ое число как???
I didn't understand it
А как вычислять mod очень больших чисел не вмечающихся в int64
Меня удивило условие задачи С, нежно говоря, это полный финиш. Я не понимаю как автор сам понял что хотел сказать. Мне просто разорвало мозг предложение "В нем нужно изменить ровно n команд (одну команду можно изменять несколько раз)." Имелось в виду, что команду "изменения" нужно повторить n раз ( к любому подмножеству команд, содержащему возможно меньше чем n команд). И что такое блин "изменение" команды? оказывается T на T нельзя изменить, также как F на F. Я задал два вопроса к жюри, если бы не они, я бы не сдал эту задачу ни при каком раскладе.
UPD: Censored
Судя по ветке комментов на пост выше, имеет смысл борьбу за чистоту языка вести либо автоматизированными способами, либо административными мерами.
Codeforces трудами своих создателей уже вырос в серьёзный социальный ресурс, а значит пора пользователей учить не только задачи решать, но и адекватно общаться с коллегами... ;-)
UPD: Проблема с оформлением, сорри...
хм.... Удалили мой матерный ответ вам, на это гнусное сообщение. Вы считаете себя вправе судить, где мат уместен, а где нет?
UPD: "Если вы продолжите использовать нецензурную лексику и/или будете продолжать вести себя грубо и агрессивно (нарушая пункт правил поведения на Codeforces), то ваш аккаунт будет забаннен."
спасибо за предупреждение, но идите Вы на хоровод, как я уже сказал.
UPD2: на хоровод был послан именно Родион, а не администрация, сколь бы не будь я недоволен действиями администрации.
Идите вы куда подальше, не ждал я такого негативного отношения в ответ на свое мнение.
Думаю не я один не согласен с вами
Иначе бы ваш вклад был бы больше.
Незачем меня разубежадать, просто посмотри на прописные буквы.
А то мало ли что.
Хотя, я могу ошибаться.
Уныло все это.
Йод форева.
А вот мне предпоследняя из див2 показалась попроще, чем последняя
А делал её симуляцией
Динамику делаем по таким параметрам:
1) до какой по номеру команды программы добрались (параметр целочисленный)
2) сколько сделали изменений (параметр целочисленный)
3) влево или вправо смотрит черепашка (параметр булев).
Для каждой из тройки параметров храним ДВЕ величины: максимум и минимум. В смысле не по модулю минимум, а по обычным правилам знаковых значений, почему собственно этот минимум может оказаться максимумом (по абсолютной величине).
Технически -- или двумерный массив структур из четырёх полей, или формально четырёхмерный но асимптотически двумерный массив DP[MAXLEN+1][maxn+1][2][2]
http://codeforces.net/contest/133/submission/929018
Параметры - сколько символов прошли, сколько поменяли, куда смотрим, а также храним минимум и максимум.
На контесте писал за O(len*n*n) - пересчитывал из каждой позиции (len, n) во все позиции вида (len+1, n+d), d >= 0
разобьем число на группы, отделенные друг от друга двумя и более нулями, идущими подряд. При этом в самой группе два нуля подряд не встречаются. Теперь есть два варианта. Первый - это получить число сложением групп подряд идущих единичек и второй - получить весь отрезок, состоящий из единичек, а потом вычесть все нули. Выберем более выгодный вариант. Сделаем так для каждой группы.
А правильна ли такая идея:
div2 D.
"Для текущего блока находится его край в направлении DP. Из всех пикселей края выбирается крайний в направлении CP. Затем BP пытается переместиться из этого пикселя в соседний в направлении DP."
Лично я так и не понял, как мы выбираем. Все мои варианты никак не хотели давай ответ 5 в третьем тесте.
Me too, about 3~4 minutes.
Lets watch a movie till then!
Чит.
what was the bug? having same problem.
In problem C, there were no '\n' at the end of the sample input but in the test cases there were '\n' I lost many points because of this please see if you can give me points or if I'm wrong
Thanks alot in advance
Спасибо за контест, действительно интересные задачи)
i just add a line of comment and it pass pretest !?
Спасибо. Но я вывожу все степени, кратные пяти. Миллион - с плюсом, остальные - с минусом. Не понимаю, почему это может быть неверно. Разве что компиляторы разные.
UPD: черт, стыдно, глупая ошибка. прошу прощения за беспокойство
Мое решение по задаче Piet (E div. 2) получило RE на 31 тесте.
Пытаясь выяснить в чем дело, получил, что на этом тесте в последней строке моя программа находит 0 символов.
Смотрел считывание, искал багу. Багу не нашел, решил спросить в чем дело. послал тоже самое решение еще раз. полулик Accept.
После написания поста послал -- опять RE.
Что это? Почему одно и тоже решение получает разные вердикты?
Заранее спасибо.
readln(n, k); // соответственно m и n из условия
for i := 1 to n do begin
j := 0;
while not eoln do begin
read(ch);
inc(j);
if (j > 50) then begin
write('Incorrect line ', i);
exit;
end;
a[i,j] := ord(ch) - ord('0');
end;
m := j;
readln;
end;
на 31 тесте выдает
Incorrect line 8
Подскажите, почему? И почему один раз я получил AC не меняя решения?
33...44(end)
33...44(end)
33...44(end)
33...44(end)
33...44(end)
33...44(end)
33...44(end)
33...44
33...
(end) - это где я переносы делал. Т.е. после восьмой строки перенос строки считался и напечатался, eoln никак не среагировал.
И это странно. Напршивается вывод, что я как-то не так пользуюсь eoln, но
1. Я им так пользуюсь очень давно и никогда не встречал таких проблемю
2. Посылая это решение, я уже два раза получил AC. И это очень странно.
Что делать? Подскажите, куда можно написать об этом?
В Винде \r\n . В Линухе \n . Попробуй вывести код последнего считанного символа. Код \r = 13, код \n = 10.
А решение проверял? ;-)
Конечно, может быть и глюк тестирующей системы, но в принципе "перемежающиеся" ошибки могут быть связаны (чаще всего в программах на C++) с ошибками, фатальность которых зависит от везения (неинициализированные переменные и выход за границы массивов, по-моему, наиболее частые случаи)
В любом случае ссылка не помешает.
UPD: а вот уже и конкретизация появилась. Поглядим... %)
После замены eoln на seekeoln (отличие которого только в том, что пропускает пробелы) программа всегда получает AC.
Пробелов в месте странности вроде нет.
Это почти полностью меня убедило, что ошибка не с моей стороны.
Подскажите, куда мне здесь обратиться с этой проблемой?
For division 1, A was really hard to understand, and I believe that I don't understand till now although I got Accepted. But for C and D, I really liked them :)
Thanks for this nice contest!