Добрый вечер!
Поздравляю всех с днём студента, спокойных вам сессий, легких экзаменов и множества новых знаний!!! Еще хочу поздравить всех Татьян с Днём Ангела!
Приглашаю всех поучаствовать в Codeforces Beta Round 53. Сегодняшний раунд готовили Михаил Мирзаянов, Невидомый Виталий, Артем Рахов и Мария Белова, автор задач nevidomy.
Контест окончен.
Поздравляем победителя tourist, который после раунда стал первым участником завоевавшим звания "Генерал"!!! Ссылка на результаты: http://mirror.codeforces.com/contest/57/standings
Что-то один вдруг сказал "маньяк", второй повторил. С чего вдруг? Так и приклеиться может.
Подразумевается "Маньяк — человек, не знающий чувства меры в своей деятельности" или "Маньяк — излишне увлекающийся человек; обычно термин применяется к серийным убийцам и насильникам." ?
Это две первые ссылки из Google/
Я прекрасно себе живу, мы в разных странах, интересы у нас могут пересечься только на ВКОШП и IOI, но первое для меня не очень-очень важно, а до второго еще много времени :)
Плюс есть еще LEGO-робототехника, которой Гена (вроде?) не занимается. По крайней мере команд от Беларуси на WRO я не видел.
Типа
AXAAA
AAAXA
из левого верхнего в правый нижний путь 7 а не 5 как обычно.
It seems the test case 7 in problem D is not valid:(By mistake, the "..." in the last means ellipsis,but the same as "." in data)AXAAA
AAAXA
replace"A" with dots
my answer is 2.62500000
В профиле. Может в этом большой смысл...
...что уж говорить про условия тогда.
Кстати, английские условия стали лучше. Сегодня английские условия не менее понятны, чем русские, а непонятна и там и там разве что задача B с первого раза.
General Gennady gained (victory).
MY problem C was hacked, but the same code passed the system test after the competition.
But my bad code passes the system test.
I didn't get the hack data which was actually used to hack my code.
I found only what kind of test case hacked my code by viewing my code with cmd's advice.
I don't know how to get the hack data.
ans = (2*ans - n)%mod
in my case, victim wrote
if (ans<0) ans+=n;
instead of
ans+=mod;
My code returns -27166.
I give you my opinion.
Today's hack system looks for me as in real life: if someone noticed bug, he will say about it to the author. Or he will wait till the bughaver released his software with this bug, and only after that he says "I saw a bug in your program but didn't tell :p!"? Looks strange if this is a situation in one company, community, like CodeForces are. :-) Yes, you're right, it's a teamwork. :-)
int n;
int f (int x, int y) {
if(x == 0) return y;
if(y == n) return n + x;
if(x == n) return 3 * n - y;
else return 4 * n - x;
}
int main ( ) {
int x1, y1, x2, y2; cin >> n >> x1 >> y1 >> x2 >> y2;
int v = abs(f(x1, y1) - f(x2, y2));
cout << min(4 * n - v, v) << endl;
}
B. Задача очень плохая. Минут 15 вкуривал в условие. Пожалуйста, пишите условия понятнее. Что за лестницы, что за камни? Что за дорога к Солнцу? После первого прочтения вообще подумал, что там кубики надо друг на друга ставить.
C. Эта задача хорошая. Правда, я так и не нашел закономерности, обидно.
За куб уж слишком трудоёмко. :3
1) Если точки на противоположных сторонах квадрата, то нужно n + минимум из двух возможных направлений движения для встречи.
Почему в личку, забавно же -)
Сначало у Гены график не умещался, теперь это. В общем, тестируем Codeforces на крайние случаи...
У меня почему-то показывается, что этот пост будет написан 19.02.2011 18:25:02.
При этом он всё время выделен, как новый.
Это баг или фича?
Kudos to the author.
01:32:38 Неудачная попытка взлома участника shioshiota
01:32:38 (+0сек) Неудачная попытка взлома участника Heruman
01:32:41 (+3сек) Неудачная попытка взлома участника sajjad_gh
01:32:43 (+2сек) Неудачная попытка взлома участника Ragvena
01:32:45 (+2сек) Неудачная попытка взлома участника ashi009
01:32:48 (+3сек) Неудачная попытка взлома участника magdi
Интересно, это ботом один тест всем кидался или просто с нескольких вкладок?
Edit: look here for solution: http://www.codeforces.com/blog/entry/1169
Я подразумевал, под кол-вом чисел в инпуте не кол-во семплов, а параметры. В данной задаче только один -- n. Брутфорс пишется не больше чем за 3 минуты и первые 4 числа к примеру вбиваются в известный многим сайт.
Например http://oeis.org/search?q=4%2C17%2C66%2C247&language=english&go=Search
Найти закономерность самому гораздо затратнее.
Ну во-первых это не верно... binomial(2n-1,n)-n
Во-вторых всё-равно понадобится какой-нибудь не лобовой алгоритм для подсчёта binomial(2n-1,n).
UPD. Ой, я не прав. 2*binomial(2n-1,n)-n=binomial(2n,n)-n :) сори
Почему не лобовой?
Разве посчитать в цикле факториалы и поделить одно число на другое по простому модулю - это не лобовое вычисление?
Если ты про деление, то можно ещё воспользоваться тем, что ap - 1 ≡ 1 по простому модулю p.
То есть .
Хотя, тут надо быстро в степень возводить. Так что что-нибудь писать всё равно придётся.
Например, биномиальные коэфициенты являются common knowledge? Надо ли не давать задачу, требующую биномиальные коэфициенты (их, я думаю, сложно вывести, если не знать)
Я например в свое время одновременно узнал как посчитать количество выборок K элементов из N и количество неубывающих последовательностей на комбинаторике, и для меня это одинаково common knowledge. Мне даже в голову до этого топика не приходило, что C(n+k-1,n) можно не знать :о
Если посмотреть на эту задачу с другой стороны - пусть последовательность не нагугливается. Тогда те, кто знают формулу, сдадут за три минуты, а те, кто не знают - за минут 30. Казалось бы, лучше пусть можно будет нагуглить.
Так что, теперь такие задачи на онлайн-контестах вообще не давать? Я просто не понимаю в чём была исходная претензия.
:-D Что-то я не додумался на контесте посмотреть...
По 4-ём введённым числам оказалась второй в списке, а по трём уже далекооо не на первой странице (oeis).
А вообще вот она http://oeis.org/A045992. Причём даже с таким же условием...
Но мне кажется, что такой возможности нету.
Наверное, никто и не пробовал.
int main()
{
if (n == 10)
{
cout<< "BlaBlaBla";
}
//решение
}
взламываем при n = 10 и получаем на халяву 50 баллов
memset is fill bites, not sell of bites.
int a[10]; memset(a,1,sizeof(a));
give a[0]=...=a[9] = 00000001 00000001 00000001 00000001 = 16843009
see
whereas...similar code...this one....
instead of