В начале октября мы открыли регистрацию на Kotlin Challenge, соревнование по новому языку программирования, который разрабатывают в JetBrains.
Напоминаем, что в эту пятницу, 15 ноября в 12:00 по московскому времени заканчивается альфа-тренировка, месячный тренировочный тур нашего соревнования. Если вы еще не решали задачи — самое время попробовать!
А уже в эту субботу, 16 ноября с 12:00 по 14:00 по московскому времени пройдет двухчасовая бета-тренировка, последний шанс потренироваться перед отборочными турами, первый из которых состоится 7 декабря. Решайте задачи, зовите друзей на соревнование, выигрывайте денежные призы и признание!
Расписание и прочую информацию, как всегда, можно посмотреть сайте соревнований: kotlin.jetbrains.org/challenge. Если вы обнаружили техническую проблему на сайте соревнования или у вас остались какие-то вопросы про язык Kotlin, соревнование или что-нибудь еще, будем рады ответить на ваши вопросы в комментариях, группе в контакте, или по почте: [email protected]
UPD: Бета-тренировка началась! Присоединяйтесь и решайте: http://kotlin.jetbrains.org/challenge/tasks
Сайт очень красивый (мне очень нравятся дизайны сайтов у JetBrains), но неинтуитивный абсолютно.
Всё пытался кликнуть в альфа-тренировку, чтобы войти в нее, а оказалось это одно и тоже что "I тренировочный тур". За время пока прочёл документацию, всё скачал и зашел в тренировку меня три раза вылогинивало (но чтобы зайти было достаточно кликнуть на "Войти"). Особо странно было с посылкой решения. Посылая, в ответ "Файл успешно загружен". Непонятно — ждать ли, что вердикт подтянется через ajax или обновлять страницу. Нажал F5, надпись пропала и с виду как-будто не посылал. Послал еще раз — тоже самое, попытка ушла в никуда. Т.е. даже нет какого-то pending. Через некоторое время (кстати довольно большое) попытки всё-же проджаджидись и появился вердикт.
Что-то в задаче D ничего нет про случай отсутствия пути между парой вершин, что выводить непонятно. Судя по тому, что моё решение прошло, то орграф сильно связный и такого не бывает.
Наверное ерунду спрашиваю, так как не успел почитать документацию, но:
vector<int> a(n, 1)
покороче, чемa = IntArray(n); Arrays.fill(a, 1)
?while (enlarge(n, c, f, 0, n - 1));
приводит к падению компилятора.val v = q.poll()
и знаю точно, что там not-null. Как коротенько объяснить это коду ниже?ArrayList<Int>
. Захотелось делать это в одной переменной, увидел чтоreverse()
возвращаетList<>
, который immutable. Т.е. эту операцию нельзя нормально сделать в одной переменной? Ну вроде как в C++ я бы мог сделатьvector<int> path; path.push_back(item); reverse(path.begin(), path.end());
.Arrays.fill(a, 1)
можно писатьa fill 1
Это эквивалентно
a.fill(1)
? Т.е. просто точки и скобки можно иногда не ставить? Но, конечно, хочется иметь конструкторы в стиле TypeArray(n, val).Да. Если у метода или у extension-функции ровно один параметр, точку и скобки можно не писать
val a = Array<Int>(n, {1})
.Задача C: Крестики и крестики: для какого n (кроме 4) ответ будет "First player loses"?
Например, для n = 8, 14, 20