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

Автор Joshik, 11 лет назад, По-русски

В начале октября мы открыли регистрацию на Kotlin Challenge, соревнование по новому языку программирования, который разрабатывают в JetBrains.

Напоминаем, что в эту пятницу, 15 ноября в 12:00 по московскому времени заканчивается альфа-тренировка, месячный тренировочный тур нашего соревнования. Если вы еще не решали задачи — самое время попробовать!

А уже в эту субботу, 16 ноября с 12:00 по 14:00 по московскому времени пройдет двухчасовая бета-тренировка, последний шанс потренироваться перед отборочными турами, первый из которых состоится 7 декабря. Решайте задачи, зовите друзей на соревнование, выигрывайте денежные призы и признание!

Расписание и прочую информацию, как всегда, можно посмотреть сайте соревнований: kotlin.jetbrains.org/challenge. Если вы обнаружили техническую проблему на сайте соревнования или у вас остались какие-то вопросы про язык Kotlin, соревнование или что-нибудь еще, будем рады ответить на ваши вопросы в комментариях, группе в контакте, или по почте: kotlin-challenge@jetbrains.com

UPD: Бета-тренировка началась! Присоединяйтесь и решайте: http://kotlin.jetbrains.org/challenge/tasks

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

»
11 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Сайт очень красивый (мне очень нравятся дизайны сайтов у JetBrains), но неинтуитивный абсолютно.

Всё пытался кликнуть в альфа-тренировку, чтобы войти в нее, а оказалось это одно и тоже что "I тренировочный тур". За время пока прочёл документацию, всё скачал и зашел в тренировку меня три раза вылогинивало (но чтобы зайти было достаточно кликнуть на "Войти"). Особо странно было с посылкой решения. Посылая, в ответ "Файл успешно загружен". Непонятно — ждать ли, что вердикт подтянется через ajax или обновлять страницу. Нажал F5, надпись пропала и с виду как-будто не посылал. Послал еще раз — тоже самое, попытка ушла в никуда. Т.е. даже нет какого-то pending. Через некоторое время (кстати довольно большое) попытки всё-же проджаджидись и появился вердикт.

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Что-то в задаче D ничего нет про случай отсутствия пути между парой вершин, что выводить непонятно. Судя по тому, что моё решение прошло, то орграф сильно связный и такого не бывает.

»
11 лет назад, # |
Rev. 3   Проголосовать: нравится +8 Проголосовать: не нравится

Наверное ерунду спрашиваю, так как не успел почитать документацию, но:

  1. Есть аналог записи vector<int> a(n, 1) покороче, чем a = IntArray(n); Arrays.fill(a, 1)?
  2. Запись while (enlarge(n, c, f, 0, n - 1)); приводит к падению компилятора.
  3. Вот делаю я val v = q.poll() и знаю точно, что там not-null. Как коротенько объяснить это коду ниже?
  4. В одной из задач надо было перевернуть путь, который я хранил как ArrayList<Int>. Захотелось делать это в одной переменной, увидел что reverse() возвращает List<>, который immutable. Т.е. эту операцию нельзя нормально сделать в одной переменной? Ну вроде как в C++ я бы мог сделать vector<int> path; path.push_back(item); reverse(path.begin(), path.end());.
  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    1. Не сильно короче, но вместо Arrays.fill(a, 1) можно писать a fill 1
    • »
      »
      »
      11 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Это эквивалентно a.fill(1)? Т.е. просто точки и скобки можно иногда не ставить? Но, конечно, хочется иметь конструкторы в стиле TypeArray(n, val).

      • »
        »
        »
        »
        11 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Да. Если у метода или у extension-функции ровно один параметр, точку и скобки можно не писать

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    1. Так если использовать просто массив, то получается одна строчка val a = Array<Int>(n, {1}).
»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Задача C: Крестики и крестики: для какого n (кроме 4) ответ будет "First player loses"?