Комментарии 18
А будет это соревнование добавлено в яндекс контест, чтобы самому прорешать его еще раз?
Function S(k,Smax)
Smax=0;
f=0;
r=k;
while r>0 do
j=r%10;
f=f+j;
Smax=Smax+9;
r=(r-j)/10;
enddo;
return f;
EndFunction
Function FindNumber(iNum) export
var Smax;
i=1;i2=1;
while true do
i=i+1;
i2=i2+2*i-1;
k=iNum*i2*3;
//число, которое дает нужное решение,
//кол-во цифр в числе должно равняться 3*i
if S(k,Smax)=(3*i) then
return k;
endif;
if Smax<(3*i) then
return undefined;
endif;
enddo;
EndFunction
Решение задачи о сложных числах. Ряд сложных чисел 61,87,103,105,114,136,147,166
Спасибо за организацию и за этот пост. С некоторыми задачами пришлось повозиться. Теперь яснее должно стать, как они решаются. По поводу специализации на Курсере, какое участие там принимал Яндекс или будет принимать?
А можете выложить тестовые данные для всех задач? У меня были решения, но они не проходили по паре тестов, хотелось бы узнать кейсы эти. Спасибо.
Мы не планировали публиковать тестовые данные. Но можете попробовать задать вопрос в соревновании, мы постараемся ответить, в чем проблема.
Такие соревнования, курсы и посты с разбором решений действительно помогают выучить новое поколение программистов, спасибо вам! С вашего разрешения, я использую некоторые из задач в coding club для школьников, который я веду. Однако, не могли бы вы пересмотреть свое решение не публиковать тестовые данные? Спасибо.
Ребята, задача «Турнирная таблица» из-за специфического форматирования, реально выжрала огромное количество времени во время решения и по сути получилась как 2 задачи. Надо же как-то стараться учитывать это и не переусложнять задания. Ну вот реально был бы там CSV вывод, сэкономился бы час у некоторых.
Ещё время выжрала специфическая сортировка. Оно как бы круто её уметь делать в получившихся сложных структурах, но опять же пусть будет задача именно с акцентом на это.
И если посмотреть таблицу участников, то видно, для всех кто влез в эту задачу, кому она была не под силу, она и оказалась последней, что они пробовали.
Ещё время выжрала специфическая сортировка. Оно как бы круто её уметь делать в получившихся сложных структурах, но опять же пусть будет задача именно с акцентом на это.
И если посмотреть таблицу участников, то видно, для всех кто влез в эту задачу, кому она была не под силу, она и оказалась последней, что они пробовали.
Мы сделали задачу такой объемной по нескольким соображениям, вот, пожалуй, основные из них:
- как я уже написал в разборе, довольно часто случаются задачи, в которых нужно разобрать входные данные и подготовить результат в нужном формате, специфичный формат вывода заставляет внимательно и аккуратно писать решение;
- мы хотели, чтобы для решения одной из задач нужно было написать объемный фрагмент кода, в котором, если будет необходимо, найти и устранить ошибки, выявленные тестирующей системой;
- мы хотели посмотреть на то, как участники будут распределять задачи по времени,
предполагали, что к данной они приступят после того, как у них не останется других задач для решения или по ним кончатся все идеи.
В далеком 2020 году у меня возник вопрос «А почему Java на втором месте?» У Cplusplus 6 очков(2 победы: 3+3) и Java имеет 6 очков(1 победа и 3 ничьих: 3+1+1+1). Справедливости ради Cplusplus и Java должны делить первое место! Ну и следовательно подсчет следующих мест становится не верным.
Ссылка на реализацию -> github.com/agorinenko/yandex_cup2020/blob/master/test_03.py
Ссылка на реализацию -> github.com/agorinenko/yandex_cup2020/blob/master/test_03.py
В описании формата выходных данных есть абзац, который как раз посвящен данному тесту:
Конкретно в данном тесте Cplusplus и Java действительно набрали одинаковое количество очков, но за счет большего числа побед Cplusplus выходит на первое место, а Java занимает второе.
Команда A занимает более высокое место, чем команда B, если она набрала большее количество очков, или они обе набрали одинаковое количество очков, но команда A одержала больше побед, чем команда B.
Конкретно в данном тесте Cplusplus и Java действительно набрали одинаковое количество очков, но за счет большего числа побед Cplusplus выходит на первое место, а Java занимает второе.
Мы открыли виртуальные контесты для всех отборочных раундов и финала Яндекс.Блица, теперь у всех желающих есть возможность поучаствовать в соревновании в рамках виртуального участника, присоединяйтесь.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Яндекс.Блиц. 12 алгоритмических задач отборочного раунда и их разборы